我需要将位于List<string>
之内的字符串合并到oneliner中。我想出了一个简单的解决方案,但我不确定这是否是最好的方法。上串有问题的,
将字符串与它们在C中的分隔符合并在一起#
第一个版本开始:
string benchmarkiUjemneDatyRazem = "";
foreach (string s in benchmarkiUjemne) {
benchmarkiUjemneDatyRazem = benchmarkiUjemneDatyRazem + "," + s;
}
第二个版本(LINQ功率),但仍与`:
string benchmarkiUjemneDatyRazem = benchmarkiUjemne.Aggregate("", (current, s) => current + "," + s);
工作版本,而,
但线的量使得有些疼痛稍后阅读:
int b = 0;
string benchmarkiUjemneDatyRazem = "";
foreach (string s in benchmarkiUjemne) {
if (b == 0) {
b = 1;
benchmarkiUjemneDatyRazem = s;
continue;
}
benchmarkiUjemneDatyRazem = benchmarkiUjemneDatyRazem + "," + s;
}
最终版本,我想出了Linq与替代第一个字符:
string benchmarkiUjemneDatyRazem = benchmarkiUjemne.Aggregate("", (current, s) => current + "," + s).Substring(1);
这是好的方法来解决这个问题吗?或者有更好的方法来实际做到这一点?像使用StringBuilder左右?
http://msdn.microsoft.com/en-us/library/57a79xd0.aspx – TJHeuvel
你可以通过调用列表上的.ToArray()来轻松解决这个问题。 =) –
我正在使用NET 4 – MadBoy