Detaillierte Erläuterung der Reihenfolge und umgekehrten Reihenfolge des Wörterbuchs in C#

黄舟
Freigeben: 2017-05-07 10:21:33
Original
3962 Leute haben es durchsucht

C# Nach der Einführung von Linq in .net Version 3.5 oder höher ist die Wörterbuchsortierung sehr einfach geworden. Sie kann mit einer ähnlichen SQL-Datenbank--Abfrage--Anweisung durchgeführt werden ; Allerdings ist das Sortieren in .net 2.0 etwas schwieriger. Aus Gründen der Benutzerfreundlichkeit werden die Sortiermethoden von .net 3.5 und 2.0 zusammengefasst.

1. Wörterbuch-Wörterbuch--Objekt

erstellen. Wenn das Wörterbuch den Seitenverkehr einer Website speichert, ist Schlüssel eine Webseite Name und Wert entsprechen der Anzahl der Besuche auf der Webseite. Da die Besuche auf der Webseite kontinuierlich gezählt werden, kann int nicht als Schlüssel verwendet werden zum Erstellen eines Wörterbuchobjekts und zum Hinzufügen von Daten ist wie folgt:

Dictionary<string, int> dic = new Dictionary<string, int>();
  dic.Add("index.html", 50);
  dic.Add("product.html", 13);
  dic.Add("aboutus.html", 4);
  dic.Add("online.aspx", 22);
  dic.Add("news.aspx", 18);
Nach dem Login kopieren

2. Wörterbuchsortierung für .net 3.5 oder höher (d. h. Linq-Wörterbuchsortierung)

1. Wörterbuchsortierung nach Wertwert

 private void DictonarySort(Dictionary<string, int> dic)
  {
    var dicSort = from objDic in dic orderby objDic.Value descending select objDic;
    foreach(KeyValuePair<string, int> kvp in dicSort)
      Response.Write(kvp.Key + ":" + kvp.Value + "<br />");
  }
Nach dem Login kopieren

Ergebnisse sortieren:

index.html: 50
online.aspx: 22
news.aspx: 18
product.html: 13
aboutus.html: 4

oben Der Code ist in absteigender Reihenfolge (umgekehrte Reihenfolge) angeordnet. Wenn Sie ihn in aufsteigender Reihenfolge (Reihenfolge) anordnen möchten, müssen Sie nur die absteigende Reihenfolge auf der rechten Seite entfernen Variable dicSort.

2. Schlüsselsortierung im C#-Wörterbuch

Wenn Sie nach Schlüssel sortieren möchten, müssen Sie nur den objDic.Value auf der rechten Seite der Variablen dicSort in objDic.Key ändern.

3. Wörterbuchsortierung der .net 2.0-Version

1. Wörterbuch wird nach Wert sortiert (umgekehrte Reihenfolge)

private void DictionarySort(Dictionary<string, int> dic)
  {
    if (dic.Count > 0)
    {
      List<KeyValuePair<string, int>> lst = new List<KeyValuePair<string, int>>(dic);
      lst.Sort(delegate(KeyValuePair<string, int> s1, KeyValuePair<string, int> s2)
      {
        return s2.Value.CompareTo(s1.Value);
      });
      dic.Clear();

      foreach (KeyValuePair<string, int> kvp in lst)
        Response.Write(kvp.Key + ":" + kvp.Value + "<br />");
    }
  }
Nach dem Login kopieren

Ergebnisse sortieren:

Index . html: 50
online.aspx: 22
news.aspx: 18
product.html: 13
aboutus.html: 4

Sequentielle Anordnung: Geben Sie einfach die Variable s2 zurück .Value.CompareTo(s1.Value); kann geändert werden, um s1.Value.CompareTo(s2.Value); zurückzugeben.

2. Sortierung der C#-Wörterbuchschlüssel (umgekehrte Reihenfolge, sequentielle Reihenfolge)

Wenn Sie nach Schlüssel sortieren möchten, ändern Sie einfach return s2.Value.CompareTo(s1.Value); in return s2.Key.CompareTo(s1.Key);; in umgekehrter Reihenfolge s2.Key.CompareTo (s1.Key); kann geändert werden, um s1.Key.CompareTo(s2.Key); zurückzugeben.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Reihenfolge und umgekehrten Reihenfolge des Wörterbuchs in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage