如何动态创建对象?

时间:2014-08-31 03:52:06

标签: asp.net-mvc-3

我想创建一个对象列表来替换这种创建它们的方法:

        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)  
   };

我怎样才能做到这一点:感谢您的帮助!

2 个答案:

答案 0 :(得分: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]})  
   }

尝试以上方法。

答案 1 :(得分:0)

您可以使用Linq以更具表现力的方式执行此操作,尤其是Enumerable.Zip()

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

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