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`,
No answers yet.
Inicia sesión para dejar una respuesta
Blogs