2014-08-31 72 views
0

我想創建對象的列表來替換他們創造的這個方法:如何動態創建對象?

 var colors= new List<object>() 
     { 
      new {key="1",value="red"}, 
      new {key="2",value="white"}, 
      new {key="3",value="blue"} 
     }; 

我想創建一個使用鍵和值從列表中,而不是硬編碼我的對象。就像這樣:

var colors= new List<object>() 
     List<String> Keys= new List<String>(); 
     List<String> Values= new List<String>(); 

     for(int i = 0; i<Keys.count();++i) 
    { 
    colors.Add(put logic to add keys and values to colors object(s) here) 
    }; 

我該如何做到這一點:感謝您的幫助!

回答

0
var colors= new List<object>() 
     List<String> Keys= new List<String>(); 
     List<String> Values= new List<String>(); 

    for(int i = 0; i<Keys.count();++i) 
    { 
    colors.Add(new {key=Keys[i],value=Values[i]}) 
    } 

嘗試以上操作。

+0

感謝TGH ......偉大的作品! – CloudyKooper 2014-08-31 06:03:00

0

你可以在一個更富於表現力的方式使用LINQ,尤其是Enumerable.Zip()做到這一點:

List<string> keys = ...; 
List<string> values = ...; 

var colors = keys.Zip(values, (k, v) => new { key = k, value = v }).ToList();