Dictionary nach Wert sortieren in C#

Muhammad Maisam Abbas 16 Februar 2024
  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.

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