Ordinare un array in ordine decrescente in C#

Minahil Noor 16 febbraio 2024
  1. Usa il metodo Array.Sort() e Array.Reverse() per ordinare un array in ordine decrescente in C#
  2. Usa il metodo OrderByDescending() per ordinare un array in ordine decrescente in C#
Ordinare un array in ordine decrescente in C#

Questo articolo introdurrà diversi metodi per ordinare un array in ordine decrescente in C#.

Usa il metodo Array.Sort() e Array.Reverse() per ordinare un array in ordine decrescente in C#

Useremo i due metodi Array.sort() e Array.Reverse() collettivamente per ordinare un array in ordine decrescente. Il metodo Array.Sort() ordina l’array in ordine crescente. Invertiremo l’array usando il metodo Array.Reverse() per ordinare il nostro array in ordine decrescente. Esistono più overload di questi metodi. La sintassi corretta per utilizzare questi metodi è la seguente.

Array.Sort(Array array);

Questo overload del metodo Sort() ha un solo parametro. Il dettaglio del suo parametro è il seguente

Parametri Descrizione
array obbligatorio Questo è l’array che vogliamo ordinare.

Questa funzione ordina l’array in ordine crescente.

Array.Reverse(Array array);

Questo sovraccarico del metodo Reverse() ha un solo parametro. Il dettaglio del suo parametro è il seguente.

Parametri Descrizione
array obbligatorio Questo è l’array che vogliamo invertire.

Questa funzione inverte l’array dato.

Il programma sotto mostra come possiamo usare i metodi Sort() e Reverse() per ordinare un array in ordine 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 + " ");
    }
  }
}

Produzione:

Array Before Sorting :

    2 10 5 8 4 11

    Array After Sorting :

    11 10 8 5 4 2

Usa il metodo OrderByDescending() per ordinare un array in ordine decrescente in C#

In C#, possiamo anche usare il metodo OrderByDescending() di LINQ per ordinare un array in ordine decrescente. Esistono più overload di questo metodo. Il sovraccarico che useremo ha due parametri. La sintassi corretta per utilizzare questo metodo è la seguente.

Array.OrderByDescending(source, keySelector);

I dettagli dei suoi parametri sono i seguenti

Parametri Descrizione
source È la sequenza di valori da ordinare.
keySelector È la funzione per estrarre una chiave da un elemento.

Questa funzione ordina l’array e restituisce un IOrderedEnumerable. Lo convertiremo in un array usando il metodo ToArray().

Il programma sotto mostra come possiamo usare il metodo OrderByDescending() per ordinare un array in ordine 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 + " ");
    }
  }
}

Produzione:

Array Before Sorting :

    2 10 5 8 4 11

    Array After Sorting :

    11 10 8 5 4 2

Articolo correlato - Csharp Array