CsharpProgramación

Aprendiendo a usar ThenByDescending() en C#

Una guía detallada para desarrolladores

La función ThenByDescending() es una herramienta útil en el lenguaje de programación C# que permite ordenar colecciones por un criterio específico en orden descendente. Esta función se utiliza comúnmente en situaciones donde se necesita ordenar una colección de objetos por un campo específico en orden descendente, lo que puede ser útil para encontrar los elementos más grandes o importantes en la colección.

Ejemplo 1: Ordenar por fecha de vencimiento en una lista de facturas

var facturas = new List<Factura>() { 
    new Factura() { Numero = 1, Vencimiento = DateTime.Parse("2022-06-30") }, 
    new Factura() { Numero = 2, Vencimiento = DateTime.Parse("2022-07-15") }, 
    new Factura() { Numero = 3, Vencimiento = DateTime.Parse("2022-08-01") } 
}; 
var ordenadasPorVencimiento = facturas.OrderByDescending(f => f.Vencimiento);

Ejemplo 2: Ordenar por tamaño en una lista de archivos

var archivos = new List<Archivo>() { 
    new Archivo() { Nombre = "archivo1", Tamaño = 1024 }, 
    new Archivo() { Nombre = "archivo2", Tamaño = 512 }, 
    new Archivo() { Nombre = "archivo3", Tamaño = 2048 } 
}; 
var ordenadosPorTamaño = archivos.OrderByDescending(a => a.Tamaño);

Ejemplo 3: Ordenar por puntuación en una lista de jugadores de un videojuego

var jugadores = new List<Jugador>() { 
    new Jugador() { Nombre = "jugador1", Puntuacion = 1000 }, 
    new Jugador() { Nombre = "jugador2", Puntuacion = 500 }, 
    new Jugador() { Nombre = "jugador3", Puntuacion = 750 } 
}; 
var ordenadosPorPuntuacion = jugadores.OrderByDescending(j => j.Puntuacion);

Ejemplo 4: Ordenar por cantidad de ventas en una lista de productos

var productos = new List<Producto>() { 
    new Producto() { Nombre = "producto1", CantidadVentas = 10 }, 
    new Producto() { Nombre = "producto2", CantidadVentas = 5 }, 
    new Producto() { Nombre = "producto3", CantidadVentas = 7 } 
}; 
var ordenadosPorCantidadVentas = productos.OrderByDescending(p => p.CantidadVentas);

Ejemplo 5: Ordenar por número de seguidores en una lista de canales de YouTube

var canales = new List<Canal>() { 
    new Canal() { Nombre = "canal1", Seguidores = 10000 }, 
    new Canal() { Nombre = "canal2", Seguidores = 5000 }, 
    new Canal() { Nombre = "canal3", Seguidores = 7000 } 
}; 
var ordenadosPorSeguidores = canales.OrderByDescending(c => c.Seguidores);

Ejemplo 6: Ordenar por número de ventas en una lista de empleados

var empleados = new List<Empleado>() { 
    new Empleado() { Nombre = "empleado1", Ventas = 10 }, 
    new Empleado() { Nombre = "empleado2", Ventas = 5 }, 
    new Empleado() { Nombre = "empleado3", Ventas = 7 } 
}; 
var ordenadosPorVentas = empleados.OrderByDescending(e => e.Ventas);

Conclusión

En resumen, ThenByDescending() es una función poderosa en C# que permite ordenar colecciones por un criterio específico en orden descendente. Al aprender a usarla de manera efectiva, podrás optimizar tus algoritmos y mejorar la eficiencia de tus proyectos. Asegúrate de comprender su funcionamiento y prueba diferentes escenarios para adaptarla a tus necesidades específicas.