如何在列表项之间进行自动投射?

时间:2011-06-15 06:47:07

标签: c#

我定义了2个对象:

   public sealed class obj1
   {
       public int i1;
       public string str1
   }

   public sealed class obj2
   {
      public int i2;
      public string str2

   public static explicit operator obj2( obj1 e )
   {
       return new obj2()
       {

           i2   = e.i1;
           str2 = e.str; 

       }
   }

}

现在,我定义了2个包含对象的列表

List<obj1> obj1item;
List<obj2> obj2item = new List<obj2>();

obj2item.add(o1);
obj2item.add(o2);

现在,我想将对象从obj2item添加到obj1item;

这意味着我想做

 obj1Item = obj2Item

我用linq做了

    var v = from t in obj2item
            select (obj1) t;

    foreach (var item in v)
    {
        obj1item.Add(item);
    }

我的问题:

是否有其他方法可以将obj2Item项添加到obj1Item?

1 个答案:

答案 0 :(得分:4)

obj1item.AddRange(v.Cast<obj1>())