Ordenar un array en orden descendente en C#

Minahil Noor 16 febrero 2024
  1. Utilice el método Array.Sort() y Array.Reverse() para ordenar un array en orden descendente en C#
  2. Utilice el método OrderByDescending() para ordenar un array en orden descendente en C#
Ordenar un array en orden descendente en C#

Este artículo presentará diferentes métodos para ordenar un array en orden descendente en C#.

Utilice el método Array.Sort() y Array.Reverse() para ordenar un array en orden descendente en C#

Usaremos los dos métodos Array.sort() y Array.Reverse() colectivamente para ordenar un array en orden descendente. El método Array.Sort() ordena el array en orden ascendente. Revertiremos el array usando el método Array.Reverse() para ordenar nuestra matriz en orden descendente. Hay múltiples sobrecargas de estos métodos. La sintaxis correcta para utilizar estos métodos es la siguiente.

Array.Sort(Array array);

Esta sobrecarga del método Sort() tiene un solo parámetro. El detalle de su parámetro es el siguiente

Parámetros Descripción
array obligatorio Esta es el array que queremos ordenar.

Esta función ordena el array en orden ascendente.

Array.Reverse(Array array);

Esta sobrecarga del método Reverse() tiene un solo parámetro. El detalle de su parámetro es el siguiente.

Parámetros Descripción
array obligatorio Esta es el array que queremos revertir.

Esta función invierte el array dada.

El siguiente programa muestra cómo podemos usar los métodos Sort() y Reverse() para ordenar un array en orden descendente.

using System;

class Sort {
  public static void Main() {
    int[] arr = new int[] { 2, 10, 5, 8, 4, 11 };
    Console.WriteLine("Array Before Sorting:\n");
    foreach (int value in arr) {
      Console.Write(value + " ");
    }
    Console.WriteLine("\n");
    Array.Sort(arr);
    Array.Reverse(arr);
    Console.WriteLine("Array After Sorting:\n");
    foreach (int value in arr) {
      Console.Write(value + " ");
    }
  }
}

Producción :

Array Before Sorting:

2 10 5 8 4 11 

Array After Sorting:

11 10 8 5 4 2 

Utilice el método OrderByDescending() para ordenar un array en orden descendente en C#

En C#, también podemos usar el método OrderByDescending() de LINQ para ordenar un array en orden descendente. Hay múltiples sobrecargas de este método. La sobrecarga que usaremos tiene dos parámetros. La sintaxis correcta para utilizar este método es la siguiente.

Array.OrderByDescending(source, keySelector);

Los detalles de sus parámetros son los siguientes

Parámetros Descripción
source Es la secuencia de valores a ordenar.
keySelector Es la función para extraer una clave de un elemento.

Esta función ordena el array y devuelve un IOrderedEnumerable. Lo convertiremos en un array usando el método ToArray().

El programa siguiente muestra cómo podemos usar el método OrderByDescending() para ordenar un array en orden descendente.

using System;
using System.Linq;

class Sort {
  public static void Main() {
    int[] arr = new int[] { 2, 10, 5, 8, 4, 11 };
    Console.WriteLine("Array Before Sorting:\n");
    foreach (int value in arr) {
      Console.Write(value + " ");
    }
    Console.WriteLine("\n");
    arr = arr.OrderByDescending(c => c).ToArray();
    Console.WriteLine("Array After Sorting:\n");
    foreach (int value in arr) {
      Console.Write(value + " ");
    }
  }
}

Producción :

Array Before Sorting:

2 10 5 8 4 11 

Array After Sorting:

11 10 8 5 4 2

Artículo relacionado - Csharp Array