2009-12-23 4 views
0

je IEnumerable de l'objet suivant:Comment puis-je utiliser .Contains() pour obtenir une propriété d'une collection en utilisant LINQ to Objects?

public class Recipient 
{ 
    public int UserID { get; set; } 
    public string Name { get; set; } 
} 

Alors, j'ai un IEnumerable<Recipient> Les bénéficiaires, et je voudrais faire un .Contains() sur les bénéficiaires. Excepté, je voudrais faire un .contains() sur chaque UserID de destinataires, pour voir si mes destinataires contiennent un userID particulier.

Si je viens d'avoir un IEnumerable<Int> Les bénéficiaires, il serait facile de le faire Recipients.Contains(5);

Mais, parce que je suis en train d'obtenir une propriété de la collection, comment puis-je utiliser contient dans ce cas?

Répondre

2
Recipients.Any(r => r.UserID == 5) 

Vous pouvez mapper la collection à une collection de UserID valeurs et d'effectuer une Contains il:

Recipients.Select(r => r.UserID).Contains(5) 
Questions connexes