Tengo una lista de Clientes que se ve así:
var customers = new List<Customer> { new Customer { Name = "John", Age = 20 }, new Customer { Name = "Adam", Age = 30 }, new Customer { Name = "Joi", Age = 26 } };¿Cuál es la mejor manera de devolver el objeto del cliente con la edad más baja?
Creo que lo lograría ordenando los objetos por edad primero y luego devolviendo el primer elemento de la lista. y puede lograrlo agregando esta consulta linq.
Customer lowestAgeCustomer = Customers.OrderBy(c => c.Age).FirstOrDefault();Esta es la forma más eficiente:
var customers = new List<Customer> { new Customer { Name = "John", Age = 20 }, new Customer { Name = "Adam", Age = 30 }, new Customer { Name = "Joi", Age = 26 } }; var youngest = customers.Aggregate((x, y) => x.Age < y.Age ? x : y);Eso me da:
O, ahora con .NET 6.0:
var youngest = customers.MinBy(c => c.Age);