Cet article explique comment trouver l'index d'un élément dans une liste dans C#.

La solution doit soit renvoyer l'index de la première occurrence de l'élément requis, soit -1 s'il n'est pas présent dans la liste.

1. Utilisation List<T>.IndexOf() méthode

La solution recommandée est d'utiliser le List<T>.IndexOf() méthode, qui renvoie l'indice de la première occurrence de l'élément spécifié dans cette liste, ou -1 s'il n'y a pas un tel élément.

Télécharger  Exécuter le code

2. Utilisation List<T>.FindIndex() méthode

La solution recommandée est d'utiliser le List<T>.FindIndex() méthode qui renvoie l'index de la première occurrence de l'élément spécifié qui correspond aux conditions définies par un prédicat spécifié. Cette méthode renvoie -1 si un élément qui correspond aux conditions n'est pas trouvé.

Télécharger  Exécuter le code

3. Utilisation Enumerable.Select() méthode (System.Linq)

L'exemple de code suivant montre comment nous pouvons utiliser Enumerable.Select pour projeter sur une séquence de valeurs et utiliser à la fois la valeur et l'index de chaque élément pour trouver l'index de la première occurrence de l'élément spécifié dans cette liste.

Télécharger  Exécuter le code

 
Nous pouvons éviter le bloc try-catch en utilisant FirstOrDefault() méthode au lieu de First():

Télécharger  Exécuter le code

Une solution naïve consiste à effectuer une recherche linéaire sur la liste donnée pour déterminer si l'élément cible est présent dans la liste.

Télécharger  Exécuter le code

Il s'agit de trouver l'index d'un élément dans une liste en C#.