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>
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>
Ou, de manière encore plus concise :
<code class="language-csharp">var firstIndex = myCars.Select((car, index) => new { index }) .FirstOrDefault(myCondition)?.index;</code>
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!