2013-02-14 54 views
-5

我試圖合併兩個列表如下合併兩個列表在C#.NET

列表1中包含的ID,姓名,年齡和列表中有兩個含有INT,VARCHAR VARCHAR

我最後出來放必須ID INT,VARCHAR名,年齡爲varchar

我試圖與使用LINQ或LAMDA表達

b OUT我需要通過這個執行。

+1

兩個列表之間的關係是什麼(即兩個列表加入了什麼)?他們是否都有「id」列或類似的? – 2013-02-14 10:53:18

+1

什麼類型的列表?包含這些值的字符串列表?一些自定義實體的列表?這個問題非常模糊。 – Leri 2013-02-14 10:54:22

+1

您的列表包含varchar? – 2013-02-14 10:55:53

回答

3

我的答案假定兩個列表都包含string s,兩個列表中的項目數相同,並且它們已被正確排序。

var result = list1.Select((x, i) => x + " " + list2[i]).ToList(); 

或者,你可以使用Enumerable.Zip

var result = list1.Zip(list2, (x, y) => x + " " + y).ToList(); 

樣品輸入:

var list1 = new List<string> { "id", "name", "age" }; 
var list2 = new List<string> { "int", "varchar", "varchar" }; 

輸出:

var result = new List<string> { "id int", "name varchar", "age varchar" }; 
3

使用Zip,例如(以獲得與元組匹配的匹配)

listOne.Zip(listTwo, Tuple.Create);