我需要將位於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