web-dev-qa-db-fra.com

Obtenir des éléments distincts d'une liste

J'ai une liste d'objets avec trois propriétés entières. Comment puis-je obtenir les valeurs distinctes de la première propriété d'entier de ma liste?

21
Mazdak

Cela devrait fonctionner,

List<int> result = YourListObject.Select(o => o.FirstInteger).Distinct().ToList();
55
A_Nablsi

Essayer:

var g = collection.Select(i => i.Property1).Distinct();

Pourriez-vous poster du code source afin que nous puissions vous donner un meilleur exemple?

MODIFIER:

Dans mon exemple, j'ai une collection collection qui contient de nombreuses instances de votre classe. Je sélectionne ensuite Property1 de chaque classe, en filtrant les valeurs distinctes de cette propriété.

9
Jason Evans

J'ai trouvé cela utile et fonctionne bien pour moi pour les chaînes.

var distinctNames = (from d in YourList select d).Distinct();

J'espère que cela sera utile pour quelqu'un comme moi qui cherche des détails dans SO.

6
Saravanan

Exemple de distinction plus complexe ....

licenseLookupItems = tmpList
                .GroupBy(x => new {x.LicenseNumber, x.Name, x.Location, x.Active, x.Archived})
                .Select(p => p.FirstOrDefault())
                .Select(p => new LicenseNumberLookupItem
                {
                    LicenseNumber = p.LicenseNumber,
                    Name = p.Name,
                    Location = p.Location,
                    Active = p.Active,
                    Archived = p.Archived
                })
                .ToList();
0
IdahoB