Escrito el 18/04/2024
Tutorial LINQ: MinMax
Devuelve el menor o mayor valor de una colleción usando el parámetro para seleccionar el criterio.
Max
En este caso, obtiene la edad del usuario con mayor edad
int oldestAge = users.Max(x => x.Age);
MaxBy
En este caso, obtiene el usuario con mayor edad
int oldestUser = users.MaxBy(x => x.Age);
Min
En este caso, obtiene la edad del usuario con menor edad
int youngestAge = users.Min(x => x.Age);
MinBy
En este caso, obtiene el usuario con menor edad
int youngestUser = users.MinBy(x => x.Age);
Sin parámetros
Se puede usar sin el selector pero la clase debe implementar la interfaz IComparable<>
class User : IComparable<User> {
public override int CompareTo(User other){
return Age.CompareTo(other.Age); // compara por edad
}
}
int oldestAge = users.Max();
int youngestAge = users.Max();
Nota 1: Si la colección está vacía, disparará una excepción en tiempo de ejecución.