Dictionary nach Wert sortieren in C#

  1. Sortieren eines Dictionaries nach Wert mit der List-Methode in C#
  2. Sortieren Sie das Dictionary nach Wert mit der Linq-Methode in C#
Dictionary nach Wert sortieren in C#

In diesem Tutorial werden Methoden zum Sortieren eines DicDictionaries Wert in C# vorgestellt.

Sortieren eines Dictionaries nach Wert mit der List-Methode in C#

Die C# Dictionary-Datenstruktur speichert Daten in Form von Schlüssel: Wert-Paaren. Leider gibt es keine integrierte Methode, um ein Dictionary nach Wert in C# zu sortieren. Wir müssen das Dictionary in eine Liste von Tupeln konvertieren und dann die Liste sortieren. Das folgende Codebeispiel zeigt, wie Sie ein Dictionary nach Wert mit einer Liste in C# sortieren.

using System;
using System.Collections.Generic;
using System.Linq;

namespace sort_dictionary_by_value {
  class Program {
    static void Main(string[] args) {
      Dictionary<string, int> myDict = new Dictionary<string, int>();
      myDict.Add("one", 1);
      myDict.Add("four", 4);
      myDict.Add("two", 2);
      myDict.Add("three", 3);
      var myList = myDict.ToList();

      myList.Sort((pair1, pair2) => pair1.Value.CompareTo(pair2.Value));
      foreach (var value in myList) {
        Console.WriteLine(value);
      }
    }
  }
}

Ausgabe:

[one, 1]
[two, 2]
[three, 3]
[four, 4]

Wir haben das Dictionary myDict erstellt und nach dem ganzzahligen Wert sortiert. Wir haben zuerst das myDict mit der Funktion ToList() in C# in die Liste der Tupel myList konvertiert. Wir haben dann die myList mit Linq sortiert und die Werte angezeigt.

Sortieren Sie das Dictionary nach Wert mit der Linq-Methode in C#

Wir können ein Dictionary auch direkt nach Wert sortieren, ohne es zuerst in eine Liste zu konvertieren. Die Linq - oder sprachintegrierte Abfrage wird verwendet, um SQL-ähnliche Abfragen in C# auszuführen. Wir können Linq verwenden, um ein Dictionary nach Wert zu sortieren. Das folgende Codebeispiel zeigt, wie Sie ein Dictionary mit Linq in C# nach Wert sortieren.

using System;
using System.Collections.Generic;
using System.Linq;

namespace sort_dictionary_by_value {
  class Program {
    static void Main(string[] args) {
      Dictionary<string, int> myDict = new Dictionary<string, int>();
      myDict.Add("one", 1);
      myDict.Add("four", 4);
      myDict.Add("two", 2);
      myDict.Add("three", 3);

      var sortedDict = from entry in myDict orderby entry.Value ascending select entry;
      foreach (var value in sortedDict) {
        Console.WriteLine(value);
      }
    }
  }
}

Ausgabe:

[one, 1]
[two, 2]
[three, 3]
[four, 4]

Wir haben das Dictionary myDict erstellt und es mit Linq in C# nach dem ganzzahligen Wert sortiert. Wir haben das sortierte Dictionary in sortedDict gespeichert und die Werte angezeigt.

Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren
Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Verwandter Artikel - Csharp Dictionary