Maison > développement back-end > C++ > Dois-je utiliser une boucle «foreach» ou «pour» pour modifier les listes en C #?

Dois-je utiliser une boucle «foreach» ou «pour» pour modifier les listes en C #?

DDD
Libérer: 2025-01-27 13:41:09
original
861 Les gens l'ont consulté

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

Modifier la liste en C# : foreach boucle ou for boucle ?

Dans les versions antérieures à C# 4.0, modifier une liste lors d'une boucle foreach provoquerait une exception. Cependant, .NET 4.0 a introduit la prise en charge de cette fonctionnalité. Néanmoins, la meilleure approche consiste à utiliser une boucle for traditionnelle.

Énumération immuable

L'instruction

foreach utilise des collections immuables, comme l'indique MSDN : "L'instruction foreach... ne peut pas être utilisée pour ajouter ou supprimer des éléments de la collection source pour éviter des effets secondaires imprévisibles

."

forSolution de boucle

Pour modifier une liste en l'itérant, il est recommandé de passer en boucle for :

<code class="language-csharp">for (var i = 0; i < list.Count; i++)
{
    // 修改 list[i]
}</code>
Copier après la connexion

Cette approche permet des itérations et des modifications sans rencontrer de bugs ou de comportements inattendus.

Exception de collecte simultanée

Veuillez noter que le blog référencé dans la question mentionne que cette exception ne s'applique pas aux collections simultanées introduites dans .NET 4.0. Cependant, il est toujours recommandé d'utiliser une boucle for pour la modification de liste car c'est la technique recommandée et la plus fiable.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal