Maison >développement back-end >C++ >Comment puis-je utiliser la méthode distincte () de Linq pour obtenir des objets uniques basés sur des propriétés spécifiques?

Comment puis-je utiliser la méthode distincte () de Linq pour obtenir des objets uniques basés sur des propriétés spécifiques?

Patricia Arquette
Patricia Arquetteoriginal
2025-02-02 09:11:12368parcourir

How Can I Use LINQ's Distinct() Method to Get Unique Objects Based on Specific Properties?

Utilisez la méthode distincte () de Linq pour obtenir l'objet unique

linq (Enquête sur l'intégration du langage) fournit un outil puissant

pour filtrer et récupérer des éléments uniques de la collection. Cependant, lorsque les attributs de l'objet ne sont pas simples, l'utilisation de

peut être délicate. Distinct() Distinct() Utilisez différentsin ()

Pour utiliser sur l'attribut de l'objet, vous devez regrouper l'objet en fonction de ces attributs, puis sélectionner un représentant unique dans chaque groupe. Cela peut être implémenté à l'aide de méthodes et

de Linq.

Distinct() Exemple: Distance basée sur l'attribut ID GroupBy Select

Considérons une liste d'objets de personne avec des propriétés d'identification et de nom:

Pour obtenir une liste de l'objet de personne unique en fonction de l'attribut ID, vous pouvez utiliser le code suivant:

Ce code regroupe d'abord l'objet de la personne en fonction de son attribut ID pour créer un ensemble de groupe. Ensuite, utilisez la méthode pour sélectionner l'objet à la première personne dans chaque groupe et fournissez efficacement une liste unique d'objets de personne en fonction de l'attribut ID.
<code>Person1:Id=1,Name="Test1"
Person2:Id=1,Name="Test1"
Person3:Id=2,Name="Test2"</code>

distinct

<code class="language-csharp">List<Person> distinctPeople = allPeople
  .GroupBy(p => p.Id)
  .Select(g => g.First())
  .ToList();</code>

Vous pouvez également utiliser Select en définissant la clé composite sur plusieurs attributs. Par exemple, pour obtenir la liste d'objets de personne unique basée sur l'ID et les attributs favoritecolor, vous pouvez utiliser le code suivant:

Remarque:

Veuillez noter que certains fournisseurs de requête peuvent ne pas être en mesure d'analyser chaque groupe doit inclure au moins un élément. De plus, la version précédente d'EF Core 6 a besoin d'une petite manière différente. Pour plus de détails, consultez la réponse Stackoverflow fournie. (Il est supposé que le texte d'origine fait référence aux réponses Stackoverflow. Sinon, vous pouvez supprimer cette phrase) Distinct()

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn