Avatar ·

LINQ Distinct() por propriedade específica do objeto

Olá, colegas! Sou novo em C# e LINQ, e me deparei com o seguinte problema. Tenho uma lista de objetos da classe `Product`: ```csharp public class Product { public int Id { get; set; } public string Name { get; set; } public decimal Price { get; set; } } ``` Preencho a lista com dados, e nela podem haver duplicatas pelo campo `Name`. Por exemplo: ```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 } }; ``` Quero obter uma lista de produtos únicos apenas pela propriedade `Name`, de modo que restem, por exemplo, apenas "Apple", "Banana", "Cherry" (não importa qual dos duplicados da Apple permaneça — o primeiro ou o último). O método `Distinct()` por padrão compara objetos por referência, e não por propriedade. Tentei sobrescrever `Equals` e `GetHashCode`,