Comment puis-je trouver l'indice d'un objet à partir d'une liste de VB.NET?
Dire que j'ai une liste, et j'ai un objet. Comment puis-je trouver l'index de l'objet dans la liste?
ListBox ou ListView ou une Liste<>?
En supposant que la liste est un des Génériques.Liste ( ... ) puis, cette question est malheureusement ambiguë, ou, au moins, il est traité de la sorte par MME depuis quelques années, j'ai été en utilisant IndexOf et Contient sans y penser parce que je pense qu'ils ont fait ce que leurs noms l'indiquent. Mais ils ne recherchez pas l'objet, mais pour celui qui satisfait le est Égale à la fonction. Cela signifie que si vous avez remplacé Équivaut alors IndexOf peut retourner une valeur, même si l'objet n'est pas présent, car un objet dans la liste renvoie la valeur True pour obj.Est égal à(cible). Ce n'est jamais ce que je veux, sauf si les objets sont immuables
(pas dupliquer): Pour le cas plus simple de vérification de l'existence et d'un simple
En supposant que la liste est un des Génériques.Liste ( ... ) puis, cette question est malheureusement ambiguë, ou, au moins, il est traité de la sorte par MME depuis quelques années, j'ai été en utilisant IndexOf et Contient sans y penser parce que je pense qu'ils ont fait ce que leurs noms l'indiquent. Mais ils ne recherchez pas l'objet, mais pour celui qui satisfait le est Égale à la fonction. Cela signifie que si vous avez remplacé Équivaut alors IndexOf peut retourner une valeur, même si l'objet n'est pas présent, car un objet dans la liste renvoie la valeur True pour obj.Est égal à(cible). Ce n'est jamais ce que je veux, sauf si les objets sont immuables
(pas dupliquer): Pour le cas plus simple de vérification de l'existence et d'un simple
List(Of String)
), voir: Vérifier si une liste de chaînes de caractères contient une valeurOriginalL'auteur rokonoid | 2011-10-13
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser FindIndex pour trouver l'indice d'un objet dans une Liste générique:
C'est la méthode la plus souple pour obtenir l'index d'un objet.
Mais la IndexOf méthode est encore plus simple et la plus simple si vous ne souhaitez trouver un objet dans une Liste par le DefaultEqualityComparer:
Vous pouvez utiliser
IndexOf
aussi, si vous ne savez pas de quel type il est .NET va utiliser Est égal à pour déterminer si deux objets sont égaux(devrait être remplacé à ne pas seulement comparer les références).édité ma réponse
OriginalL'auteur Rango