Avatar ·

LINQ Distinct() por una propiedad específica del objeto

¡Hola, colegas! Soy nuevo en C# y LINQ, y me encontré con este problema. Tengo una lista de objetos de la clase `Product`: ```csharp public class Product { public int Id { get; set; } public string Name { get; set; } public decimal Price { get; set; } } ``` Lleno la lista con datos, y puede haber duplicados por el campo `Name`. Por ejemplo: ```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 } }; ``` Quiero obtener una lista de productos únicos solo por la propiedad `Name`, para que queden, por ejemplo, solo "Apple", "Banana", "Cherry" (sin importar cuál de los duplicados de Apple se quede — el primero o el último). El método `Distinct()` por defecto compara objetos por referencia, no por propiedad. Intenté sobrescribir `Equals` y `GetHashCode`,