.NET の for
ループと foreach
ループのパフォーマンスの比較: どちらが速いですか?
C# やその他の .NET 言語では、コレクションを反復するためのループ構造を選択するときに、どのループ タイプのパフォーマンスが優れているかという疑問に直面することがよくあります。一般に for
ループは foreach
ループよりも高速であると考えられていますが、実際のパフォーマンスはコレクションの種類や特定のシナリオによって異なる場合があります。
特定のシナリオとパフォーマンスの比較
次のパフォーマンス比較は、Patrick Smacchia による実証テストに基づいています:
List<T>
に対する for
ループ: 汎用リスト コレクションに対する ループは、for
ループよりもわずかに遅く、パフォーマンスの差は約 2 倍です。 foreach
for
ループのパフォーマンスは、ジェネリック配列と非ジェネリック配列の両方で ループよりも大幅に高く、約 2 倍高速です。 for
foreach
for
ループよりも約 5 倍高速です。 List<T>
foreach
ループと
ループのパフォーマンスの違いは、次のようないくつかの要因に起因する可能性があります。
for
foreach
foreach
配列の最適化: foreach
for
.NET でコレクションを反復処理する場合、一般に ループの方がパフォーマンスが向上しますが、実際の速度の差は特定のコレクションの種類とシナリオによって異なる場合があります。パフォーマンス重視のアプリケーション (ミリ秒単位が重要) の場合は、さまざまな種類のループのベンチマークを行い、最高の実行速度を提供するループを選択することをお勧めします。
以上が.NET の「For」ループと「Foreach」ループ: どちらが速いですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。