如何使用Linq从集合中构建字符串?

Boy*_*ski 3 linq vb.net string

我正在从字符串集合中构建平面文件内容.

示例集合:A,B,C,D,E等

我希望能够将这些值输出到带有换行符的字符串中,如果可能的话,使用Linq.

样本输出:

一个

C

d

Ë

等等

这是当前完成工作的VB.NET代码:

For Each fieldValue As String In field.Values
   fileContent.Append(fieldValue + Environment.NewLine)
Next
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多方法让Linq完成这项工作,但却未能找到合适的组合.思考?

Qui*_*son 11

你试过一个简单的连接吗?..

如果field.Values已经是一个字符串数组,那么这应该工作正常..否则你可以使用LINQ .ToArray()将集合转换为数组.

string joined = string.Join(Environment.NewLine, field.Values);
Run Code Online (Sandbox Code Playgroud)

VB

Dim joined As String = String.Join(Environment.NewLine, field.Values)
Run Code Online (Sandbox Code Playgroud)

刚想想我会补充一下,如果你真的,真的只是想用LINQ做这个,聚合就可以了,虽然我不会真的推荐这个以满足你的需求.

field.Values.Aggregate(string.Empty, (s1, s2) => s1 += Environment.NewLine + s2);
Run Code Online (Sandbox Code Playgroud)