连接两个列表中的字符串以创建第三个列表
Posted
技术标签:
【中文标题】连接两个列表中的字符串以创建第三个列表【英文标题】:Concatenating strings in two lists to create a third list 【发布时间】:2014-03-16 03:29:08 【问题描述】:我有两个项目列表,请您指导我如何连接两者的值并将连接的值作为值添加到第三个列表中。
例如,如果List<string> From
有A,B,C
并且List<string> To
有1,2,3
那么List<string> All
应该有A1,B2,C3
。我更喜欢使用 lambda 表达式。
【问题讨论】:
【参考方案1】:使用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】:这不是 连接 - 这是成对匹配两个序列。你可以使用 LINQ 的 Zip
方法:
Zip
将指定函数应用于两个序列的对应元素,生成结果序列。
var res = from.Zip(to, (a,b) => a + b).ToList();
【讨论】:
【参考方案3】:如果两个列表中的项目数相等,那么您可以这样做:
var list3 = list1.Select((item, index) => item + list2[index]).ToList();
【讨论】:
以上是关于连接两个列表中的字符串以创建第三个列表的主要内容,如果未能解决你的问题,请参考以下文章