我有两个项目列表,请您指导我如何连接两者的值并将连接值作为值添加到第三个列表中。
例如,如果List<string> From
有A,B,C
且List<string> To
有1,2,3
,那么List<string> All
应该有A1,B2,C3
。我最好喜欢使用lambda表达式。
答案 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();