Classificar un array em ordem decrescente em C#

Minahil Noor 16 fevereiro 2024
  1. Use o método Array.Sort() e Array.Reverse() para classificar un array em ordem decrescente em C#
  2. Use o método OrderByDescending() para classificar un array em ordem decrescente em C#
Classificar un array em ordem decrescente em C#

Este artigo apresentará diferentes métodos para classificar un array em ordem decrescente em C#.

Use o método Array.Sort() e Array.Reverse() para classificar un array em ordem decrescente em C#

Usaremos os dois métodos Array.sort() e Array.Reverse() coletivamente para classificar un array em ordem decrescente. O método Array.Sort() classifica a matriz em ordem crescente. Iremos inverter a matriz usando o método Array.Reverse() para classificar nossa matriz em ordem decrescente. Existem várias sobrecargas desses métodos. A sintaxe correta para usar esses métodos é a seguinte.

Array.Sort(Array array);

Esta sobrecarga do método Sort() possui apenas um parâmetro. O detalhe de seu parâmetro é o seguinte

Parâmetros Descrição
array obrigatoriedade Esta é a matriz que desejamos classificar.

Esta função classifica a matriz em ordem crescente.

Array.Reverse(Array array);

Esta sobrecarga do método Reverse() possui apenas um parâmetro. O detalhe de seu parâmetro é o seguinte.

Parâmetros Descrição
array obrigatoriedade Esta é a matriz que desejamos reverter.

Esta função inverte o array fornecido.

O programa abaixo mostra como podemos usar os métodos Sort() e Reverse() para classificar um array em ordem decrescente.

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 + " ");
    }
  }
}

Resultado:

Array Before Sorting :

    2 10 5 8 4 11

    Array After Sorting :

    11 10 8 5 4 2

Use o método OrderByDescending() para classificar un array em ordem decrescente em C#

Em C#, também podemos usar o método OrderByDescending() do LINQ para classificar un array em ordem decrescente. Existem várias sobrecargas deste método. A sobrecarga que usaremos tem dois parâmetros. A sintaxe correta para usar esse método é a seguinte.

Array.OrderByDescending(source, keySelector);

Os detalhes de seus parâmetros são os seguintes

Parâmetros Descrição
source É a sequência de valores a serem solicitados.
keySelector É a função de extrair uma chave de um elemento.

Esta função classifica a matriz e retorna um IOrderedEnumerable. Vamos convertê-lo em um array usando o método ToArray().

O programa abaixo mostra como podemos usar o método OrderByDescending() para classificar um array em ordem decrescente.

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 + " ");
    }
  }
}

Resultado:

Array Before Sorting :

    2 10 5 8 4 11

    Array After Sorting :

    11 10 8 5 4 2

Artigo relacionado - Csharp Array