Maison > développement back-end > C++ > Comment puis-je trouver efficacement l'index d'un élément dans une collection à l'aide de LINQ ?

Comment puis-je trouver efficacement l'index d'un élément dans une collection à l'aide de LINQ ?

Susan Sarandon
Libérer: 2025-01-15 07:01:42
original
756 Les gens l'ont consulté

How Can I Efficiently Find the Index of an Element in a Collection Using LINQ?

LINQ : rationalisation de la récupération d'index dans les collections

Localiser efficacement les éléments au sein de grands ensembles de données (tableaux, collections) est essentiel. LINQ (Language Integrated Query) offre un moyen propre et déclaratif d'y parvenir, en évitant la complexité des boucles traditionnelles.

Localisation des indices d'éléments

Pour trouver l'index d'un élément à l'aide de LINQ, combinez les méthodes Select et FirstOrDefault. Voici comment :

<code class="language-csharp">var firstIndex = myCars.Select((car, index) => new { car, index })
    .FirstOrDefault(myCondition)?.index;</code>
Copier après la connexion

Ce code fait ce qui suit :

  • Select : Crée une séquence d'objets anonymes, chacun associant un objet voiture (car) à son index (index).
  • FirstOrDefault : filtre cette séquence en fonction de myCondition, renvoyant le premier objet correspondant.
  • ?.index : accède en toute sécurité à la propriété index du résultat (le ?. gère le cas où aucune correspondance n'est trouvée).

Alternatives concises

Ce qui précède peut être simplifié :

<code class="language-csharp">var firstIndex = myCars.Select((car, index) => (car, index))
    .FirstOrDefault(myCondition)?.index;</code>
Copier après la connexion

Ou, de manière encore plus concise :

<code class="language-csharp">var firstIndex = myCars.Select((car, index) => new { index })
    .FirstOrDefault(myCondition)?.index;</code>
Copier après la connexion

L'élégance plutôt que l'itération

Ces approches LINQ offrent un avantage significatif par rapport aux boucles explicites : une lisibilité améliorée et souvent de meilleures performances pour des ensembles de données plus volumineux. Le style déclaratif de LINQ favorise un code plus propre et plus maintenable tout en interrogeant efficacement des structures de données complexes.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal