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

本文关键字:两个 列表 net 合并 | 更新日期: 2023-09-27 17:59:00

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

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

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

我尝试使用linq或lamda表达式

但我需要通过它来执行。

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

我的答案假设两个列表都包含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" };

使用Zip,例如(以元组形式获取匹配)

listOne.Zip(listTwo, Tuple.Create);