c# – 将每个元素的一行排列成单个字符串

前端之家收集整理的这篇文章主要介绍了c# – 将每个元素的一行排列成单个字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个类型为List< string []>我将转换为一个字符串与换行符上的每个字符串[].我使用以下LINQ查询来平滑列表,但是我不知道如何在每个字符串[]之间添加一行,而不会将查询扩展到更丑陋的内容中.有没有办法做到这一点,没有内向我的查询,并使用String.Join或IEnumberable.Aggregate内部的foreach循环?
results.SelectMany(x => x).Aggregate((c,n) => c + "," + n)

解决方法

String.Join(Environment.NewLine,results.Select(a => String.Join(",",a)));

完整样品:

var results = new List<string[]> {
    new[]{"this","should","be","on"},new[]{"other","line"}
};

var result = String.Join(Environment.NewLine,a)));

结果:

this,should,be,on
other,line

UPDATE这里是完成的聚合 – 它使用StringBuilder在内存中构建单个字符串

results.Aggregate(new StringBuilder(),(sb,a) => sb.AppendLine(String.Join(",a)),sb => sb.ToString());

猜你在找的C#相关文章