簡體   English   中英

C#3.5合並2種不同類型的2個列表

[英]C# 3.5 Merge 2 lists of 2 different types

我在C#3.5中有2個通用列表List<type1> L1List<type2> L2

問題: type1的屬性為“ key1”,type2的屬性為“ key2”。如何在key1 = key2上合並L1和L2。 這兩個列表均未排序,但是歡迎您提出任何有關基於屬性對列表進行排序的想法。

我希望能夠將兩個列表合並到一個鍵上。 我知道這不是一本字典,如果是的話,它會很好,但是有一個非常具體的原因,為什么它們是列表,我不會進入,因為那是無關緊要的。

我相信您正在要求加入操作。 這很簡單,但是您將需要更加具體,以獲得更好的答案。

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

像這樣:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM