我有一些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()步骤了.