4 votes

Vérifier si l'objet avec une valeur spécifique existe dans la liste

J'essaie de vérifier si un objet spécifique existe dans une liste. J'ai une liste A, qui contient tous les éléments, et j'ai une chaîne de caractères, qui peut ou non appartenir à l'id d'un objet de la liste A.

Je sais ce qui suit :

List<T>.Contains(T) renvoie un message vrai si l'élément existe dans la liste. Problème : je dois rechercher un élément spécifique.

List<T>.Find(Predicate<T>) renvoie un objet si elle trouve un élément dans la liste qui a le prédicat. Problème : Cela me donne un objet, mais je veux un vrai ou un faux.

Maintenant, je suis venu avec ça :

if (ListA.Contains(ListA.Find(a => a.Id == stringID)) ==true) ...faire des trucs cool

Est-ce la meilleure solution ? Ça me semble un peu bizarre.

6voto

Prasad Telkikar Points 1425

Vous pouvez utiliser Any() ,

Any() de Linq, trouve si un élément de la liste satisfait à une condition donnée. donnée ou non, si elle est satisfaite, elle retourne true

if(ListA.Any(a => a.Id == stringID))
{
//Your logic goes here;

}

MSDN : Méthode Enumerable.Any

1voto

Tomas Chabada Points 1183

Utilisez Any pour ça.

if (ListA.Any(item => item.id == yourId))
{
   ...
}

1voto

Mikev Points 1844

L'utilisation de .Any est la meilleure option : MSDN

if(ListA.Any(a => a.Id == stringID))
{
    //You have your value.
}

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