Heim > Backend-Entwicklung > C++ > Sollte ich ein 'foreach' oder 'for' -Loop verwenden, um Listen in C#zu ändern?

Sollte ich ein 'foreach' oder 'for' -Loop verwenden, um Listen in C#zu ändern?

DDD
Freigeben: 2025-01-27 13:41:09
Original
861 Leute haben es durchsucht

Should I Use a `foreach` or `for` Loop to Modify Lists in C#?

Liste in C# ändern: foreach Schleife oder for Schleife?

In Versionen vor C# 4.0 führte das Ändern einer Liste während einer foreach-Schleife zu einer Ausnahme. Mit .NET 4.0 wurde jedoch die Unterstützung für diese Funktion eingeführt. Der beste Ansatz ist jedoch die Verwendung einer herkömmlichen for-Schleife.

Unveränderliche Aufzählung

Die

foreach-Anweisung verwendet unveränderliche Sammlungen, wie MSDN angibt: „Die foreach-Anweisung...kann nicht zum Hinzufügen oder Entfernen von Elementen aus der Quellsammlung verwendet werden, um unvorhersehbare Nebenwirkungen zu vermeiden.“

Loop-Lösungfor

Um eine Liste während der Iteration zu ändern, empfiehlt es sich, zu einer

-Schleife zu wechseln: for

<code class="language-csharp">for (var i = 0; i < list.Count; i++)
{
    // 修改 list[i]
}</code>
Nach dem Login kopieren
Dieser Ansatz ermöglicht Iterationen und Änderungen, ohne dass Fehler oder unerwartetes Verhalten auftreten.

Ausnahme für gleichzeitige Sammlung

Bitte beachten Sie, dass in dem in der Frage genannten Blog erwähnt wird, dass diese Ausnahme nicht für gleichzeitige Sammlungen gilt, die in .NET 4.0 eingeführt wurden. Es wird jedoch weiterhin empfohlen, zur Listenänderung eine

-Schleife zu verwenden, da dies die empfohlene und zuverlässigste Technik ist. for

Das obige ist der detaillierte Inhalt vonSollte ich ein 'foreach' oder 'for' -Loop verwenden, um Listen in C#zu ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage