如何在C#中使用单行代码实现两个数组的对应元素拼接
实现方法
你可以借助LINQ的Zip方法搭配string.Join实现单行拼接,代码如下:
// C# 6及以上版本(支持字符串插值,推荐) string r = string.Join(" ", names.Zip(vals, (name, val) => $"{name}: {val}"));
如果使用不支持字符串插值的旧版C#,可以改用string.Format写法:
// 兼容旧版C#的写法 string r = string.Join(" ", names.Zip(vals, (name, val) => string.Format("{0}: {1}", name, val)));
注意事项
- 调用上述代码前需要先引入LINQ命名空间,在代码文件头部添加
using System.Linq;即可 - 上述默认生成的结果没有多余的末尾空格,比你原有for循环的写法更规范。如果需要完全对齐原有循环逻辑(保留末尾多余空格),可以在代码末尾补加空格拼接:
string r = string.Join(" ", names.Zip(vals, (name, val) => $"{name}: {val}")) + " ";
内容的提问来源于stack exchange,提问作者Alexey
相关产品推荐
相关产品推荐

