C# Tips


文字列を高速に連結するには


文字列を連結するには普通にstringの+オペレーションを使用することもできますが、速度は非常に遅いです。
そこで、何回も文字列を連結する必要のある場合は、高速化のためにStringBuilderを使用します。
理由は、ちょうどJavaのStringBufferと同じです。
stringを+で連結するとき、.NET Frameworkは新しいstring objectを作成し、古い2つのstring objectsを連結したものを新しく作成したstring objectに格納します。.NET Frameworkではobjectの作成が非常に高コストなので、パフォーマンスの低下がおこります。
stringは固定長なので、このようなオペレーションになります。
StringBuilderは可変長の文字列なので、単純に文字列を連結することができます。

using System.Text;

StringBuilder builder = new StringBuilder();

for(int i=0; i<100000; i++)
{
	builder.Append(i.ToString());
}


目次に戻る
Copyright(c) 2008 WoodenSoldier Software