ホームページ >バックエンド開発 >C++ >パフォーマンスを向上させるために C# で配列の連結を最適化するにはどうすればよいですか?

パフォーマンスを向上させるために C# で配列の連結を最適化するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-17 06:42:10611ブラウズ

How Can I Optimize Array Concatenation in C# for Better Performance?

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>

このメソッドは、zx の両方を保持するのに十分なサイズの新しい配列 y を直接割り当てます。次に、Array.Copy を活用して、xy の要素を z に効率的に転送します。これにより、中間配列の作成が回避され、特に大規模なデータセットの実行が高速化されます。

重要な考慮事項: Concat はパフォーマンスが重要ではない小規模なアレイには依然として適していますが、上記のアプローチは大規模なアレイを含むシナリオではパフォーマンスに大きな利点をもたらします。

以上がパフォーマンスを向上させるために C# で配列の連結を最適化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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