StringとStringBuilderの文字列結合の速度検証
JAVAみたいにStringBuilder使った方が早いのかなぁ?と思ってちょっと確認しただけです。
ちゃんとした検証結果は他サイトを参照。

  1. using System;
  2. using System.Text;
  3. using System.Collections.Generic;
  4. using System.Diagnostics;
  5. namespace ConsoleApplication1
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             String str = "";
  12.             StringBuilder sb = new StringBuilder();
  13.             Stopwatch sw = new Stopwatch();
  14.             sw.Start();
  15.             for (int i = 0; i < 100000; i++)
  16.             {
  17.                 str += "a";
  18.             }
  19.             sw.Stop();
  20.             Console.WriteLine("String結合:" + sw.Elapsed + "秒");
  21.             str = null;
  22.             sw.Restart();
  23.             for (int i = 0; i < 100000; i++)
  24.             {
  25.                 sb.Append("a");
  26.             }
  27.             sw.Stop();
  28.             Console.WriteLine("StringBuilder結合:" + sw.Elapsed + "秒");
  29.             Console.ReadLine(); 
  30.         }
  31.     }
  32. }
結果、やっぱりStringBuilderの方が早い。

image

戻る