C# 连接两个列表中的字符串以创建第三个列表

C# 连接两个列表中的字符串以创建第三个列表,c#,.net,linq,lambda,C#,.net,Linq,Lambda,我有两个项目列表,请您指导我如何连接这两个项目的值,并将连接的值作为值添加到第三个列表中 例如,如果List From具有A、B、C和List To具有1,2,3,则List All应具有A1、B2、C3。我最好使用lambda表达式。如果两个列表中的项目计数相等,则可以执行以下操作: var list3 = list1.Select((item, index) => item + list2[index]).ToList(); 使用Linq的扩展方法: using System.Lin

我有两个项目列表,请您指导我如何连接这两个项目的值,并将连接的值作为值添加到第三个列表中


例如,如果
List From
具有
A、B、C
List To
具有
1,2,3
,则
List All
应具有
A1、B2、C3
。我最好使用lambda表达式。

如果两个列表中的项目计数相等,则可以执行以下操作:

var list3 = list1.Select((item, index) => item + list2[index]).ToList();
使用Linq的扩展方法:

using System.Linq;
...

var list1 = new List<string> { "A", "B", "C" };
var list2 = new List<string> { "1", "2", "3" };
var list3 = list1.Zip(list2, (x, y) => x + y).ToList(); // { "A1", "B2", "C3" }
使用System.Linq;
...
var list1=新列表{“A”、“B”、“C”};
var list2=新列表{“1”、“2”、“3”};
var list3=list1.Zip(list2,(x,y)=>x+y).ToList();//{“A1”、“B2”、“C3”}
这不是串联,而是成对匹配两个序列。您可以使用LINQ的方法:

Zip
将指定的函数应用于两个序列的对应元素,生成结果序列

var res = from.Zip(to, (a,b) => a + b).ToList();