我正在尝试合并两个列表,如下所示
让列表 1 包含 id、name、age和列表 2 包含 int、varchar、varchar
我的最终输出必须是id int,name varchar,age varchar
我尝试不使用 linq 或 lamda 表达式
但我需要通过它执行此操作。
我的回答假设两个列表都包含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);