合并c#.net中的两个列表

时间:2013-02-14 10:51:45

标签: c# .net linq lambda

我正在尝试合并两个列表,如下所示

列表1包含id,name,age 列表2包含int,varchar,varchar

我的最终出局必须是 id int,name varchar,age varchar

我尝试使用linq或lamda表达式

但我需要通过它执行此操作。

2 个答案:

答案 0 :(得分:3)

我的回答是假设两个列表都包含string个,两个列表中的项目数相同,并且它们已经正确排序。

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

答案 1 :(得分:3)

使用Zip,例如(以比赛作为比赛)

listOne.Zip(listTwo, Tuple.Create);