2011-06-15 95 views
2

我定義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); 

而現在,我想添加對象從obj2itemobj1item;

不是說我想要做的

obj1Item = obj2Item 

我使用LINQ做

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

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

我的問題:

有一些其他的方式做將obj2Item項目添加到obj1Item?

回答

4
obj1item.AddRange(v.Cast<obj1>()) 
+0

,如果我使用的收集是不是列表=>如果此集合中的ObservableCollection和我沒有方法「的AddRange」 – Yanshof 2011-06-15 06:59:17

+0

那麼你仍然可以使用「foreach'迴路,並使用」添加'-方法 – sloth 2011-06-15 07:22:08

相關問題