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

Posted

技术标签:

【中文标题】连接两个列表中的字符串以创建第三个列表【英文标题】:Concatenating strings in two lists to create a third list 【发布时间】:2014-03-16 03:29:08 【问题描述】:

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

例如,如果List<string> FromA,B,C 并且List<string> To1,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();

【讨论】:

以上是关于连接两个列表中的字符串以创建第三个列表的主要内容,如果未能解决你的问题,请参考以下文章

无法使用两个列表中的项创建第三个列表

连接列表的元素对

我需要比较python中的2个嵌套列表以查找第一个列表的字符串与第二个列表中的字符串不匹配的位置

将两个列表连接在一起

以之字形方式连接字符串列表的算法

元素明智的连接与Python中的两个列表列表