LINQ Distinct() sur une propriété spécifique d'un objet
Bonjour, collègues ! Je suis nouveau en C# et LINQ, et j'ai rencontré un problème.
J'ai une liste d'objets de la classe `Product` :
```csharp
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
```
Je remplis la liste avec des données, et il peut y avoir des doublons sur le champ `Name`. Par exemple :
```csharp
var products = new List
{
new Product { Id = 1, Name = "Apple", Price = 100 },
new Product { Id = 2, Name = "Banana", Price = 50 },
new Product { Id = 3, Name = "Apple", Price = 120 },
new Product { Id = 4, Name = "Cherry", Price = 200 }
};
```
Je veux obtenir une liste de produits uniques uniquement par la propriété `Name`, pour qu'il ne reste par exemple que "Apple", "Banana", "Cherry" (peu importe lequel des doublons Apple reste — le premier ou le dernier).
La méthode `Distinct()` par défaut compare les objets par référence, pas par propriété. J'ai essayé de redéfinir `Equals` et `GetHashCode`,