2010-12-23 23 views
2

2只列出我有2名泛型列表List<type1> L1List<type2> L2在C#3.5C#3.5合併2種不同類型的

問題: TYPE1有一個名爲 「鍵1」 和type2的屬性已被稱爲 「KEY2」 如何屬性在key1 = key2上合併L1和L2。 這兩個列表都是未排序的,但歡迎您就如何根據屬性對列表進行排序提供任何建議。

我想能夠合併關鍵上的兩個列表。我知道這不是一本字典,如果它真的很好,但是有一個非常特殊的原因,爲什麼他們是我不會介入的列表,因爲這是無關緊要的。

+4

結果列表是什麼類型? – 2010-12-23 17:44:37

+1

你的意思是屬性在屬性中還是屬性? – 2010-12-23 17:44:51

回答

3

我相信你問的加入操作。這很簡單,但你需要更具體地獲得更好的答案。

var joined = from item1 in L1 
      join item2 in L2 
      on item1.Key1 equals item2.Key2 
      orderby item1.Key1 
      select new 
      { 
       // your selected objects/properties here 
      }; 
1

事情是這樣的:

list1.Cast<object>().Union(list2.Cast<object>()).OrderBy(elem => elem is elem1 ? ((elem1)elem).key : ((elem2)elem).key)