Maison >développement back-end >C++ >Comment LINQ peut-il être utilisé pour obtenir des objets de voiture distincts basés sur CarCode ?
Utiliser LINQ pour extraire des objets de voiture uniques basés sur CarCode
La gestion de collections d'objets aux propriétés potentiellement redondantes nécessite souvent des techniques de filtrage efficaces. Cet article montre comment LINQ simplifie le processus de récupération d'objets distincts d'une collection, en se concentrant sur l'unicité basée sur une propriété spécifique.
Le défi :
Supposons que vous ayez une liste d'objets Car
, chacun identifié de manière unique par sa propriété CarCode
. La tâche consiste à utiliser LINQ pour créer une nouvelle collection contenant uniquement des voitures avec des CarCode
valeurs uniques.
La solution :
Les capacités de regroupement et de sélection de LINQ offrent une solution concise :
<code class="language-csharp">List<Car> cars = new List<Car>(); List<Car> distinctCars = cars .GroupBy(car => car.CarCode) .Select(g => g.First()) .ToList();</code>
Explication détaillée :
La méthode GroupBy
organise la liste cars
originale en groupes, classés par la propriété CarCode
. Chaque groupe contient des voitures partageant le même CarCode
.
Ensuite, la méthode Select
parcourt ces groupes, en sélectionnant le premier objet Car
de chacun. Puisque chaque groupe représente un CarCode
unique, cette sélection garantit que la collection résultante ne contient que des objets Car
distincts.
La méthode ToList()
convertit la séquence résultante en un nouveau List<Car>
, distinctCars
, contenant uniquement des voitures avec des valeurs CarCode
uniques. Cela élimine efficacement les objets de voiture en double en fonction de leur code d'identification.
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!