我需要通过 Linq 或lamda表达式来解决。
可以通过循环轻松完成,但是我想在Linq或lambda表达式中尝试。
string[] value1 = {"A", "B"};
string[] value2 = {"C", "D"};
或
List<string> value1 = new List<string>() {"A", "B"};
List<string> value2 = new List<string>() {"C", "D"};
var output = {"AC", "BD"};
包含索引
var output = {"AC","BD"};
答案 0 :(得分:3)
如果数组的长度为 个相等,请放置Zip
:
var output = value1
.Zip(value2, (v1, v2) => v1 + v2)
.ToArray();
如果没有,我们希望将缺席项目视为空字符串:
var output = Enumerable
.Range(0, Math.Max(value1.Length, value2.Length))
.Select(i => (i < value1.Length ? value1[i] : "") +
(i < value2.Length ? value2[i] : ""))
.ToArray();