MSDNフォーラムで以下の投稿がありました。
DBのテーブルからレコード数によって文字列として作成し利用する方法
たとえばテーブルに レコードが3レコードあるとき , 1 TIME, 2 TIME, 3 TIME レコードが5レコードあるとき , 1 TIME, 2 TIME, 3 TIME, 4 TIME, 5 TIME というように 文字列を作成するにはどのような方法があるでしょうか? ...
よい機会なので、文字列連結の処理時間を計測してみることにしました。検証は以下のコードで行いました。
Stopwatch w = new Stopwatch(); w.Start(); for (int i = 1; i <= 10000; i++) { // 文字列連結処理 } w.Stop(); Console.WriteLine("処理時間:{0}ミリ秒", w.ElapsedMilliseconds);
連結方法 | コード | 処理時間(ミリ秒) |
---|---|---|
単純な連結 | s += ", " + i.ToString("d") + " TIME"; | 1695 |
string.Format | s += string.Format(", {0} TIME", i); | 1641 |
string.Concat | s = string.Concat(s, ", " , i, " TIME"); | 1953 |
StringBuilder | s.AppendFormat(", {0} TIME", i); | 13 |
やっぱりStringBuilderが圧倒的に速いですね。