Classificar un array em ordem decrescente em C#
-
Use o método
Array.Sort()eArray.Reverse()para classificar un array em ordem decrescente emC# -
Use o método
OrderByDescending()para classificar un array em ordem decrescente emC#
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