如何动态创建对象?
问题描述:
我想创建对象的列表来替换他们创造的这个方法:如何动态创建对象?
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)
};
我该如何做到这一点:感谢您的帮助!
答
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]})
}
尝试以上操作。
答
你可以在一个更富于表现力的方式使用LINQ,尤其是Enumerable.Zip()
做到这一点:
List<string> keys = ...;
List<string> values = ...;
var colors = keys.Zip(values, (k, v) => new { key = k, value = v }).ToList();
感谢TGH ......伟大的作品! – CloudyKooper 2014-08-31 06:03:00