Ordenar una lista en orden descendente en C#

Saad Aslam 12 octubre 2023
  1. Utilice la función Reverse() para ordenar una lista en orden descendente en C#
  2. Utilice la biblioteca LINQ para ordenar una lista en orden descendente en C#
Ordenar una lista en orden descendente en C#

Este artículo presenta cómo ordenar una lista de números enteros en orden descendente en C#. Hay dos métodos para ordenar una lista en orden descendente.

El primer método es la función Reverse(). Se utiliza para reordenar todas las entradas de una lista.

El segundo método es utilizar la biblioteca LINQ. Usamos la palabra clave orderby para hacer esto.

Utilice la función Reverse() para ordenar una lista en orden descendente en C#

En este escenario, primero usamos la función Ordenar () para organizar la lista en orden ascendente. Luego, ordenamos la lista en orden descendente usando la función Reverse().

En primer lugar, importe las bibliotecas.

using System;
using System.Collections.Generic;

Crea una clase llamada DescSortList, dentro de la cual tendremos nuestro método principal.

class DescSortList {
  static void Main() {}
}

Dentro del método main, crea una lista llamada newList de tipo int.

List<int> newList = new List<int>();

Ahora, agregue algunos números aleatorios a la lista que debe ordenarse.

newList.Add(8);
newList.Add(16);
newList.Add(14);
newList.Add(4);
newList.Add(26);
newList.Add(49);
newList.Add(2);
newList.Add(50);

Vamos a generar los números agregados a la lista. Necesitamos un bucle foreach que itere en la lista y genere cada valor en cada iteración.

System.Console.WriteLine("List Before Sorting");
foreach (int num in newList) {
  System.Console.WriteLine(num);
}

Para ordenar la lista, llame a la función Sort() en newList, y devolverá la lista ordenada en orden ascendente.

newList.Sort();

La lista se ha ordenado en orden ascendente, pero la necesitamos en orden descendente.

Entonces, necesitamos llamar a otra función en la lista, la función Reverse(). Devolverá la lista en orden descendente.

newList.Reverse();

Ahora, tenemos la lista ordenada en orden descendente. Usaremos el bucle foreach nuevamente para generar la lista; esto iterará en la lista y generará cada valor en cada índice.

System.Console.WriteLine("\n" + "List in Descending Order");

foreach (int num in newList) {
  System.Console.WriteLine(num);
}

Código de ejemplo completo

using System;
using System.Collections.Generic;

class DescSortList {
  static void Main() {
    List<int> newList = new List<int>();
    newList.Add(8);
    newList.Add(16);
    newList.Add(14);
    newList.Add(4);
    newList.Add(26);
    newList.Add(49);
    newList.Add(2);
    newList.Add(50);

    System.Console.WriteLine("Given List");
    foreach (int num in newList) {
      System.Console.WriteLine(num);
    }
    newList.Sort();
    newList.Reverse();
    System.Console.WriteLine("\n" + "Sorted List in Descending Order");
    foreach (int num in newList) {
      System.Console.WriteLine(num);
    }
  }
}

Producción :

Given List
8
16
14
4
26
49
2
50

Sorted List in Descending Order
50
49
26
16
14
8
4
2

Utilice la biblioteca LINQ para ordenar una lista en orden descendente en C#

Esta es la otra forma de ordenar una lista usando la biblioteca LINQ. En este método, creamos una lista y almacenamos algunos números enteros aleatorios.

List<int> newList = new List<int>() { 5, 15, 3, 99, 11 };

Ahora, usamos la palabra clave orderby para ordenar una lista en orden descendente, y guardamos todos los valores en la variable de tipo Lista sortedList.

var sortedList = from y in newList orderby y descending select y;

Tenemos la lista ordenada en orden descendente.

Necesitamos generar cada valor de lista; por lo tanto, usamos el bucle foreach. Iterará en la lista y generará cada valor en cada iteración.

foreach (var y in sortedList) {
  Console.WriteLine(y);
}

Código de ejemplo completo

using System;
using System.Collections.Generic;
using System.Linq;

class DescSortList {
  static void Main() {
    List<int> newList = new List<int>() { 5, 15, 3, 99, 11 };
    var sortedList = from y in newList orderby y descending select y;
    Console.WriteLine("Sorted List\n");
    foreach (var y in sortedList) {
      Console.WriteLine(y);
    }
  }
}

Producción :

Sorted List

99
15
11
5
3
Autor: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn

Artículo relacionado - Csharp List