合并两个列表

6
例如,我有以下两个列表:
List<string> firstName = new List<string>();
List<string> lastName = new List<string>();

如何将firstName[0]和lastName[0]、firstName[1]和lastName[1]等连接起来并放入新列表中?

2个回答

7

听起来你想要从LINQ中获取Zip

var names = firstName.Zip(lastName, (first, last) => first + " " + last)
                     .ToList();

(这并不是真正的“连接”两个列表。它是逐个元素地组合它们,但那并不是完全相同的事情。)
编辑:如果您使用的是.NET 3.5,可以自己包含Zip方法 - Eric Lippert的博客文章中有示例代码。

如果我想把结果放到一个新列表中怎么办?这是可能的吗? - Chris N.P.
3
@ChrisN.P.: 这确实将结果放进了一个新的列表中 - 这就是为什么需要调用 ToList 的原因。 - Jon Skeet
我正在使用 System.Linq。 - Chris N.P.
@ChrisN.P.:如果您使用的是.NET 4或更高版本,那应该没问题。您使用的是哪个版本的.NET呢? - Jon Skeet
2
@ChrisN.P.:我认为,它的继任者已经在三年前发布了(2010年4月),所以它算是相当老了... - Jon Skeet
显示剩余4条评论

0

你可以使用 Linq 的 Concat 和 ToList 方法

var lists = firstname.Concat(lastname).ToList();

变量列表 = 名字.Concat(姓氏).ToList();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接