Sortieren Sie eine Liste in absteigender Reihenfolge in C#

Saad Aslam 12 Oktober 2023
  1. Verwenden Sie die Funktion Reverse(), um eine Liste in C# in absteigender Reihenfolge zu sortieren
  2. Verwenden Sie die LINQ-Bibliothek zum Sortieren einer Liste in absteigender Reihenfolge in C#
Sortieren Sie eine Liste in absteigender Reihenfolge in C#

In diesem Artikel wird erläutert, wie Sie in C# eine Liste von Ganzzahlen in absteigender Reihenfolge sortieren. Es gibt zwei Methoden, um eine Liste in absteigender Reihenfolge zu sortieren.

Die erste Methode ist die Funktion Reverse(). Es wird verwendet, um alle Einträge in einer Liste neu zu ordnen.

Die zweite Methode besteht darin, die LINQ-Bibliothek zu verwenden. Dazu verwenden wir das Schlüsselwort orderby.

Verwenden Sie die Funktion Reverse(), um eine Liste in C# in absteigender Reihenfolge zu sortieren

In diesem Szenario verwenden wir zuerst die Funktion Sort(), um die Liste in aufsteigender Reihenfolge zu ordnen. Dann sortieren wir die Liste mit der Funktion Reverse() absteigend.

Importieren Sie zunächst die Bibliotheken.

using System;
using System.Collections.Generic;

Erstellen Sie eine Klasse namens DescSortList, in der wir unsere main-Methode haben.

class DescSortList {
  static void Main() {}
}

Erstellen Sie innerhalb der Methode main eine Liste namens newList vom Typ int.

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

Fügen Sie nun einige Zufallszahlen zu der Liste hinzu, die sortiert werden müssen.

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

Lassen Sie uns die der Liste hinzugefügten Zahlen ausgeben. Wir brauchen eine foreach-Schleife, die in der Liste iteriert und jeden Wert bei jeder Iteration ausgibt.

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

Um die Liste zu sortieren, rufen Sie die Funktion Sort() auf der newList auf, und sie gibt die Liste in aufsteigender Reihenfolge sortiert zurück.

newList.Sort();

Die Liste wurde in aufsteigender Reihenfolge sortiert, aber wir brauchen sie in absteigender Reihenfolge.

Also müssen wir eine andere Funktion auf der Liste aufrufen, die Funktion Reverse(). Die Liste wird in absteigender Reihenfolge zurückgegeben.

newList.Reverse();

Jetzt haben wir die Liste in absteigender Reihenfolge sortiert. Wir verwenden wieder die foreach-Schleife, um die Liste auszugeben; Dadurch wird die Liste durchlaufen und jeder Wert an jedem Index ausgegeben.

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

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

Vollständiger Beispielcode

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

Ausgang:

Given List
8
16
14
4
26
49
2
50

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

Verwenden Sie die LINQ-Bibliothek zum Sortieren einer Liste in absteigender Reihenfolge in C#

Hier ist die andere Möglichkeit, eine Liste mit der LINQ-Bibliothek zu sortieren. Bei dieser Methode erstellen wir eine Liste und speichern einige zufällige Ganzzahlen.

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

Nun verwenden wir das Schlüsselwort orderby, um eine Liste in absteigender Reihenfolge zu sortieren, und speichern alle Werte in der Variablen sortedList vom Typ List.

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

Wir haben die Liste absteigend sortiert.

Wir müssen jeden Listenwert ausgeben; Daher verwenden wir die foreach-Schleife. Es wird die Liste durchlaufen und jeden Wert für jede Iteration ausgeben.

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

Vollständiger Beispielcode

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

Ausgang:

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

Verwandter Artikel - Csharp List