J'ai une collection d'objets qui ont plusieurs propriétés dans chacun d'eux. J'ai souvent besoin d'obtenir une liste de valeurs distinctes pour de nombreuses propriétés de cette collection. Si j'implémente IEqualityComparer sur ce type, cela me donne un seul critère pour obtenir les objets distincts dans la collection. Comment puis-je appeler Distinct sur plusieurs critères pour cette collection?Liste <T> .Distinct() en C# - critères multiples pour EqualityComparer?
Par exemple,
class Product {
string name ;
string code ;
string supplier ;
//etc
}
Imaginer une liste de ces objets produits. Parfois, je veux obtenir la liste des noms distincts dans la liste, et à un autre moment, une liste de fournisseurs distincts. Si j'appelle Distinct sur une liste de ces produits, en fonction de la façon dont IEqualityComparer est implémenté, il utilisera toujours les mêmes critères, ce qui ne va pas servir à mes fins.
aurait choisi comme réponse, mais pour la première réponse 2 minutes de Hans. – Bhaskar