ホームページ >バックエンド開発 >C++ >C# で大規模な配列を効率的に連結するにはどうすればよいですか?

C# で大規模な配列を効率的に連結するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-17 06:51:08802ブラウズ

How to Efficiently Concatenate Large Arrays in C#?

C# で配列を効率的に接続する

C# で配列を操作する場合、多くの場合、配列を結合または連結して、1 つの大きな配列を形成する必要があります。このタスクを実行するには複数の方法がありますが、最も効率的で適切な方法を選択することが重要です。よくある質問は次のとおりです:

Concat() よりも効率的なメソッドを使用して C# で 2 つの大きな配列を連結するにはどうすればよいですか?

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

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

int[] z = // 你的答案在这里...

Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 }));</code>

Concat() メソッドは配列の連結に使用できますが、配列が大きい場合は効率が低下します。この問題を解決するには、より効率的な方法は、適切な容量を持つ新しい配列を作成し、両方の配列の要素を新しい配列に手動でコピーすることです。

<code class="language-c#">var z = new int[x.Length + y.Length];
x.CopyTo(z, 0);
y.CopyTo(z, x.Length);</code>
このメソッドでは中間コレクションを作成する必要がないため、パフォーマンスが向上します。これは、Concat() メソッドのオーバーヘッドがより明らかになる大規模な配列に特に適しています。

以上がC# で大規模な配列を効率的に連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。