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;
}
私は最初の文字にSubsituteでのLINQに基づいていた思い付いた最終バージョン:
string benchmarkiUjemneDatyRazem = benchmarkiUjemne.Aggregate("", (current, s) => current + "," + s).Substring(1);
は、この問題に対するこのアプローチは良いですか?それとも実際にそれを行うより良い方法がありますか? StringBuilderなどを使うのと同じですか?
http://msdn.microsoft.com/en-us/library/57a79xd0.aspx – TJHeuvel
Listの.ToArray()を呼び出すと簡単に解決できます。 =) –
NET 4を使用しています – MadBoy