C# での配列連結の最適化
C# での配列の結合は一般的なタスクです。 Concat
メソッドは簡単な解決策を提供します。
<code class="language-csharp">int[] x = { 1, 2, 3 }; int[] y = { 4, 5 }; int[] z = x.Concat(y).ToArray(); Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 }));</code>
ただし、配列が大きくなると Concat
のパフォーマンスが著しく低下します (「C# での配列の連結」で説明したように、要素が 10,000 個を超えるとパフォーマンスが大幅に低下します)。
よりパフォーマンスの高い代替手段
効率を向上させるには、特に大規模なアレイの場合、手動アプローチには大きな利点があります。 これには、正しいサイズの新しい配列を作成し、要素を直接コピーすることが含まれます:
<code class="language-csharp">var z = new int[x.Length + y.Length]; x.CopyTo(z, 0); y.CopyTo(z, x.Length);</code>
このメソッドは、Concat
に固有のオーバーヘッドを回避し、特に大規模なデータセットの場合に連結が高速になります。 やや冗長ではありますが、パフォーマンスが向上するため、大規模な配列操作には好ましい選択肢となります。
以上がC# で配列を効率的に連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。