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

时间:2014-02-17 00:39:09

标签: c# .net linq lambda

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

例如,如果List<string> FromA,B,CList<string> To1,2,3,那么List<string> All应该有A1,B2,C3。我最好喜欢使用lambda表达式。

3 个答案:

答案 0 :(得分:4)

那不是连接 - 它成对匹配两个序列。你可以使用LINQ的Zip方法:

  

Zip将指定的函数应用于两个序列的相应元素,从而产生一系列结果。

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

答案 1 :(得分:3)

使用Linq的Zip扩展方法:

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

答案 2 :(得分:1)

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

var list3 = list1.Select((item, index) => item + list2[index]).ToList();