文字列を連結する最も効率的な方法は何ですか?
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
もし、その場で配列を作成します。