LINQ | Operador de clasificación | orden por descendiente

En LINQ, los operadores de clasificación se utilizan para reorganizar la secuencia dada en orden ascendente o descendente en función de uno o más atributos. Hay 5 tipos diferentes de operadores de clasificación disponibles en LINQ:

  1. Ordenar por
  2. orden por descendiente
  3. Entonces por
  4. EntoncesPorDescender
  5. Reverso

Operador OrdenarPorDescendente

El operador OrderByDescending se utiliza para reorganizar los elementos de la secuencia dada en orden descendente. No es compatible con la sintaxis de consulta en C# y VB.Net. Solo admite sintaxis de métodos . Si desea reorganizar u ordenar los elementos de la secuencia o colección dada en orden descendente en la sintaxis de consulta, utilice la palabra clave descendente como se muestra en el siguiente ejemplo.
Y en la sintaxis del método, use OrderByDescending()método para ordenar los elementos de la secuencia o colección dada. Este método está presente tanto en la clase Queryable como en la Enumerable. Y la sintaxis del método es compatible con los lenguajes C# y VB.Net. Como se muestra en los siguientes ejemplos. El método OrderByDescending ordena los elementos de la colección de acuerdo con una sola propiedad, no se le permite ordenar la colección usando varias propiedades.

Ejemplo 1:

// C# program to print the employee
// ID in descending order
using System;
using System.Linq;
using System.Collections.Generic;
  
// Employee details
public class Employee {
  
    public int emp_id
    {
        get;
        set;
    }
  
    public string emp_name
    {
        get;
        set;
    }
  
    public string emp_gender
    {
        get;
        set;
    }
  
    public string emp_hire_date
    {
        get;
        set;
    }
  
    public int emp_salary
    {
        get;
        set;
    }
}
  
class GFG {
  
    // Main method
    static public void Main()
    {
        List<Employee> emp = new List<Employee>() {
  
            new Employee() {emp_id = 209, emp_name = "Anjita", emp_gender = "Female",
                                       emp_hire_date = "12/3/2017", emp_salary = 20000},
  
            new Employee() {emp_id = 210, emp_name = "Soniya", emp_gender = "Female",
                                    emp_hire_date = "22/4/2018", emp_salary = 30000},
  
            new Employee() {emp_id = 211, emp_name = "Rohit", emp_gender = "Male",
                                  emp_hire_date = "3/5/2016", emp_salary = 40000},
  
            new Employee() {emp_id = 212, emp_name = "Supriya", emp_gender = "Female",
                                      emp_hire_date = "4/8/2017", emp_salary = 40000},
  
            new Employee() {emp_id = 213, emp_name = "Anil", emp_gender = "Male",
                                emp_hire_date = "12/1/2016", emp_salary = 40000},
  
            new Employee() {emp_id = 214, emp_name = "Anju", emp_gender = "Female",
                                  emp_hire_date = "17/6/2015", emp_salary = 50000},
        };
  
        // Query to print the ID of the
        // employees in descending order
        // Using Descending keyword in 
        // query syntax
        var res = from e in emp
                  orderby e.emp_id descending
                  select e;
  
        foreach(var val in res)
        {
            Console.WriteLine("Employee ID: {0}", val.emp_id);
        }
    }
}

Producción:

Employee ID: 214
Employee ID: 213
Employee ID: 212
Employee ID: 211
Employee ID: 210
Employee ID: 209

Ejemplo 2:

// C# program to print the employee
// name in descending order
using System;
using System.Linq;
using System.Collections.Generic;
  
// Employee details
public class Employee {
  
    public int emp_id
    {
        get;
        set;
    }
  
    public string emp_name
    {
        get;
        set;
    }
  
    public string emp_gender
    {
        get;
        set;
    }
  
    public string emp_hire_date
    {
        get;
        set;
    }
  
    public int emp_salary
    {
        get;
        set;
    }
}
  
class GFG {
  
    // Main method
    static public void Main()
    {
        List<Employee> emp = new List<Employee>() {
  
            new Employee() {emp_id = 209, emp_name = "Anjita", emp_gender = "Female",
                                    emp_hire_date = "12/3/2017", emp_salary = 20000},
  
            new Employee() {emp_id = 210, emp_name = "Soniya", emp_gender = "Female",
                                    emp_hire_date = "22/4/2018", emp_salary = 30000},
  
            new Employee() {emp_id = 211, emp_name = "Rohit", emp_gender = "Male",
                                  emp_hire_date = "3/5/2016", emp_salary = 40000},
  
            new Employee() {emp_id = 212, emp_name = "Supriya", emp_gender = "Female",
                                      emp_hire_date = "4/8/2017", emp_salary = 40000},
  
            new Employee() {emp_id = 213, emp_name = "Anil", emp_gender = "Male",
                                emp_hire_date = "12/1/2016", emp_salary = 40000},
  
            new Employee() {emp_id = 214, emp_name = "Anju", emp_gender = "Female",
                                  emp_hire_date = "17/6/2015", emp_salary = 50000},
        };
  
        // Query to print the name of the
        // employees in descending order
        // Using OrderByDescending method
        var res = emp.OrderByDescending(e => e.emp_name);
  
        foreach(var val in res)
        {
            Console.WriteLine("Employee Name: {0}", val.emp_name);
        }
    }
}

Producción:

Employee Name: Supriya
Employee Name: Soniya
Employee Name: Rohit
Employee Name: Anju
Employee Name: Anjita
Employee Name: Anil

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *