C# 合并两个数组的字符串

3

我有两个字符串数组

array1 = { "test", "test", "test" }
array2 = { "completed", "completed", "completed" }

我想要将这两个数组中的字符串连接起来(它们的长度总是相同的)-> 所以我想要得到一个包含所有字符串的数组

array = { "test completed", "test completed", "test completed" }

我发现的所有方法都只能将数组连接起来,这样就会得到一个6个元素的数组。是否有可能不通过循环整个数组(例如使用 LINQ 或类似的东西)来实现这一点?


4
请注意,LINQ 也会遍历整个数组(在给出的答案中是使用 Zip 的情况),这就是你在幕后看不到的内容! - M.kazem Akhgary
1
@M.kazemAkhgary 你一定在开玩笑。LINQ是一种魔法,它从不使用“for”、“foreach”或任何其他过时的循环方式 :-) - Ivan Stoev
@M.kazemAkhgary 是的,你说得对,但我想要一份干净的代码 :) 使用 LINQ 真是太棒了 :) - sharpie_0815
2个回答

8
你可以使用Enumerable.Zip方法来实现,代码如下:

var joined = array1.Zip(array2, (first, second) => first + " " + second);


8

您可以使用LINQ的Zip来实现:

var res = array1.Zip(array2, (a, b) => $"{a} {b}").ToArray();

注意: 如果您没有最新的编译器,请使用a+" "+b代替$"{a} {b}"


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