C# · 12月 26, 2021

c# – 将字符串列表转换为单个连接字符串的最快方法?

我有一些LINQ代码生成一个字符串列表,如下所示: var data = from a in someOtherList orderby a select FunctionThatReturnsString(a);

如何将该字符串列表转换成一个大连接字符串?假设数据有这些条目:

“Some “”resulting “”data here.”

我应该使用一个如下所示的字符串:

“Some resulting data here.”

我该如何快速做到这一点?我想到了这个:

StringBuilder sb = new StringBuilder();data.ToList().ForEach(s => sb.Append(s));string result = sb.ToString();

但这似乎不正确.如果是正确的解决方案,我该如何去做一个扩展方法?

解决方法 怎么样: public static string Concat(this IEnumerable<string> source) { StringBuilder sb = new StringBuilder(); foreach(string s in source) { sb.Append(s); } return sb.ToString();}

和:

string s = data.Concat();

这样就不需要额外的ToList()/ ToArray()步骤了.