185 votes

Comment pour utiliser Linq pour obtenir une liste unique des propriétés d’une liste d’objets ?

Je suis en train d'utiliser Linq pour retourner une liste d'id donné une liste d'objets où l'id est une propriété. J'aimerais être capable de le faire sans en parcourant chaque objet et en tirant les id uniques que je trouve.

J'ai une liste d'objets de type Maclasse et l'une des propriétés de cette classe est un ID.

public class MyClass
{
  public int ID { get; set; }
}

Ce que je veux faire est d'écrire une requête Linq m'a fait une liste de ces Identifiants

Comment dois-je faire un IList<MyClass> telle qu'elle renvoie un IEnumerable<int> de l'ids?

Je suis sûr qu'il doit être possible de le faire en une ou deux lignes à l'aide de Linq plutôt qu'en parcourant chaque élément dans la MyClass liste et y ajouter les valeurs dans une liste.

Toute aide à la création d'une solution élégante serait bien apprécié!

340voto

Marc Gravell Points 482669
IEnumerable<int> ids = list.Select(x=>x.ID).Distinct();

30voto

CMS Points 315406

Utilisez l' opérateur Distinct:

13voto

Dana Points 153

À l’aide de droites Linq, avec la `` extension :

3voto

Black Eagle Points 161
<pre><code></code><p>SORTIE</p><p></pre>

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