117 votes

Trouver l'index d'une valeur dans un tableau

Peut-on utiliser linq pour trouver l'index d'une valeur dans un tableau ?

Par exemple, cette boucle localise l'index de la clé dans un tableau.

for (int i = 0; i < words.Length; i++)
{
    if (words[i].IsKey)
    {
        keyIndex = i;
    }
}

0 votes

En fait, passer le mot serait aussi bien.

2voto

joelsand Points 717

Je viens de poster mon implémentation de la méthode d'extension IndexWhere() (avec des tests unitaires) :

http://snipplr.com/view/53625/linq-index-of-item--indexwhere/

Exemple d'utilisation :

int index = myList.IndexWhere(item => item.Something == someOtherThing);

1voto

Roshna Omer Points 304

Cette solution m'a aidé davantage, de msdn microsoft :

var result =  query.AsEnumerable().Select((x, index) =>
              new { index,x.Id,x.FirstName});

query est votre toList() requête.

0voto

int index = -1;
index = words.Any (word => { index++; return word.IsKey; }) ? index : -1;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X