ホームページ > バックエンド開発 > C++ > C# で配列を連結する最も効率的な方法は何ですか?

C# で配列を連結する最も効率的な方法は何ですか?

Mary-Kate Olsen
リリース: 2025-01-17 07:02:09
オリジナル
428 人が閲覧しました

What's the Most Efficient Way to Concatenate Arrays in C#?

C# 配列の効率的な接続方法

配列の連結はプログラミングにおける一般的なタスクであり、2 つ以上の配列の要素を新しい配列に結合します。 C# では、Concat メソッドは配列を連結する便利な方法を提供しますが、大規模な配列に対しては最も効率的なソリューションではない可能性があります。

代替方法

配列をより効率的に連結するには、各配列の要素を適切なサイズの新しい配列に手動でコピーするという方法もあります。

<code class="language-csharp">var z = new int[x.Length + y.Length];
x.CopyTo(z, 0);
y.CopyTo(z, x.Length);</code>
ログイン後にコピー

このメソッドは、zx の長さの合計に等しいサイズの y という名前の新しい配列を作成します。次に、インデックス 0 から始まる x の要素を z にコピーし、インデックス y (つまり、x.Length の最後の要素の後の位置) から始まる x の要素を 真ん中。 z

使用例

次の例を考えてみましょう:

<code class="language-csharp">int[] x = { 1, 2, 3 };
int[] y = { 4, 5 };

var z = new int[x.Length + y.Length];
x.CopyTo(z, 0);
y.CopyTo(z, x.Length);

Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 }));</code>
ログイン後にコピー
このコードは、

x のすべての要素を含む新しい配列 y を作成し、アサーションは要素が正しく接続されていることを検証します。 z

パフォーマンスの比較

ベンチマークは、この代替案が大規模な配列に対する

アプローチよりも効率的であることを示しています。アレイのサイズが大きくなると、パフォーマンスの違いがより顕著になります。 Concat

結論

メソッドは配列を連結する簡潔な方法を提供しますが、大規模な配列に対しては最も効率的なソリューションではない可能性があります。このようなシナリオでは、手動の配列コピーがより高速で効率的な代替手段となります。 Concat

以上がC# で配列を連結する最も効率的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート