Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 2582|Répondre: 1

[Source] .NET/C# choisit habilement des indices dans foreach

[Copié le lien]
Publié sur 01/02/2024 20:26:18 | | | |
Introduction

Les boucles for et foreach sont l’une des constructions les plus utiles dans la boîte à outils du développeur C#.
À mon avis, itérer sur une collection est plus pratique que dans la plupart des cas.
Il fonctionne avec tous les types de collections, y compris ceux non indexables (comme , et ne nécessite pas d’accéder à l’élément courant via l’index).
Mais parfois, un index de l’élément en cours est vraiment nécessaire ; J’ai rencontré ce problème il y a quelque temps lorsque j’ai utilisé foreach pour parcourir des collections en développement. Cela utilise généralement l’un des motifs suivants :


Cela m’a toujours agacé ; Ne pouvons-nous pas avoir à la fois les valeurs et les indices ?
Il existe une solution simple avec Linq et les tuples.

Solution 1 :

Écrivez simplement une méthode d’extension comme ceci :

Veuillez introduire le code ci-dessus dans l’espace de noms suivant :

Méthode d’appel :

Note : Derrière la collectionWithIndex();

Solution 2 :

Si vous trouvez la méthode d’extension encombrante, vous pouvez aussi utiliser la solution 2

C’est fait ici, ça a un petit impact sur les performances, on peut observer l’utilisation à la demande !!





Précédent:Nginx désactive les solutions invalides TLSv1.0 et TLSv1.1
Prochain:Problèmes de champ de recherche des requêtes Oracle de champ et de majuscules complètes
 Propriétaire| Publié sur 24/02/2024 17:00:44 |
Collections de 9 paires .NETAjout de la méthode d’extension d’index, vous pouvez obtenir l’index directement, voir :La connexion hyperlientérée est visible.

System.Collections.Generic.IEnumerable<(int Index, TSource Item)> Index<TSource> (cette source System.Collections.Generic.IEnumerable<TSource>) ;

Téléchargez l’aperçu de VS 2022 sur :La connexion hyperlientérée est visible.

Téléchargement d’aperçu de .NET 9.0 :La connexion hyperlientérée est visible.

Créez une nouvelle application console .NET 9 avec le code suivant :







Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com