文字列を連結する最も効率的な方法は何ですか?
StringBuilder使用例の詳細については、こちらを参照してください。
String.Formatステロイドのようなものです。パフォーマンスに関しては、1つのライナーでは+and よりも少し遅くString.ConcatなりますがStringBuilder、複数の呼び出しでは、より遅くなりますが、これらよりははるかに優れています。実際には、パフォーマンスの違いは、連結する方法を1つだけ選択する必要がある$場合は、... を使用して文字列補間を選択することです。2つの方法の場合StringBuilderは、ツールボックスに追加します。これらの2つの方法で設定します。
String.Join以下の答えは+正義を行うものではなく、実際には文字列を連結するための悪い方法ですが、驚くほど高速なパフォーマンスです。なぜ答えが面白いのか。String.ConcatそしてString.Join両方のアレイに作用することができますが、String.Join実際に高速です。どうやら、String.Joinはかなり洗練されており、よりも最適化String.ConcatさStringBuilderれています。これは、文字列の長さを最初に計算し、UnSafeCharBufferを使用してこの知識から利益を得る文字列を構築するという点で同様に動作するためです。
String.Joinまた、資源効率の悪い右のようだ配列を構築する必要が?...ことが判明+し、String.Concatとにかく有権者ための構築物の配列を。その結果、手動で配列を作成してフィードするのString.Joinは比較的高速です...しかし、実際にはほぼすべての方法でStringBuilder優れString.Joinて$いますが、長い文字列ではわずかに遅く、はるかに高速です... String.Joinもし、その場で配列を作成します。