C# 配列の連結パフォーマンスの向上: Concat の優れた代替手段
C# の Concat
メソッドは、配列を結合するための簡単なソリューションを提供します。 ただし、大規模な配列を扱う場合、そのパフォーマンスは最適ではない可能性があります。配列連結の効率を大幅に向上させるには、次の代替案を検討してください。
<code class="language-csharp">int[] x = new int[] { 1, 2, 3 }; int[] y = new int[] { 4, 5 }; int[] z = new int[x.Length + y.Length]; Array.Copy(x, z, x.Length); Array.Copy(y, 0, z, x.Length, y.Length); Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 }));</code>
このメソッドは、z
と x
の両方を保持するのに十分なサイズの新しい配列 y
を直接割り当てます。次に、Array.Copy
を活用して、x
と y
の要素を z
に効率的に転送します。これにより、中間配列の作成が回避され、特に大規模なデータセットの実行が高速化されます。
重要な考慮事項: Concat
はパフォーマンスが重要ではない小規模なアレイには依然として適していますが、上記のアプローチは大規模なアレイを含むシナリオではパフォーマンスに大きな利点をもたらします。
以上がパフォーマンスを向上させるために C# で配列の連結を最適化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。