Heim > Backend-Entwicklung > C++ > Wie kann ich eine geordnete Aufzählung von Wörterbuchelementen in C# garantieren?

Wie kann ich eine geordnete Aufzählung von Wörterbuchelementen in C# garantieren?

Susan Sarandon
Freigeben: 2025-01-17 18:47:10
Original
540 Leute haben es durchsucht

How Can I Guarantee Ordered Enumeration of Dictionary Elements in C#?

Aufrechterhaltung der Reihenfolge beim Durchlaufen von C#-Wörterbüchern

Standard-C#-Wörterbücher garantieren nicht automatisch eine bestimmte Reihenfolge der Elemente während der Aufzählung. Die Reihenfolge kann unabhängig von der Einfügereihenfolge unvorhersehbar variieren. Es gibt jedoch Möglichkeiten, die Iterationsreihenfolge bei Bedarf zu steuern.

Methoden zur geordneten Aufzählung

Mehrere Strategien können eine geordnete Durchquerung von Wörterbuchelementen gewährleisten:

1. Sortieren von KeyValuePair-Paaren:

Diese Methode wandelt das Wörterbuch in ein sortiertes Array von KeyValuePair Objekten um.

<code class="language-csharp">var sortedKVPs = _Dictionary.OrderBy(x => x.Key).ToArray();

foreach (KeyValuePair<string, string> kvp in sortedKVPs)
{
  Trace.Write(String.Format("{0}={1}", kvp.Key, kvp.Value));
}</code>
Nach dem Login kopieren

Dieses Code-Snippet sortiert die Schlüssel-Wert-Paare basierend auf den Schlüsseln und durchläuft dann das sortierte Array, um in diesem Beispiel eine alphabetische Reihenfolge bereitzustellen.

2. Nutzung von OrderedDictionary:

Die Klasse OrderedDictionary verwaltet explizit die Einfügereihenfolge.

<code class="language-csharp">// Create an ordered dictionary
var orderedDictionary = new OrderedDictionary();

// Add elements
orderedDictionary.Add("orange", "1");
orderedDictionary.Add("apple", "4");
orderedDictionary.Add("cucumber", "6");

// Add using indexer
orderedDictionary["banana"] = 7;
orderedDictionary["pineapple"] = 7;

// Enumerate the ordered dictionary
foreach (DictionaryEntry entry in orderedDictionary)
{
  Trace.Write(String.Format("{0}={1}", entry.Key, entry.Value));
}</code>
Nach dem Login kopieren

Elemente werden in der genauen Reihenfolge abgerufen, in der sie dem OrderedDictionary hinzugefügt wurden. Beachten Sie, dass OrderedDictionary eine Legacy-Klasse ist; Erwägen Sie für neue Projekte die Verwendung von SortedDictionary oder SortedList<TKey, TValue>. SortedDictionary sorgt für die Sortierung der Schlüssel und SortedList<TKey, TValue> bietet ähnliche Funktionen mit teilweise besserer Leistung.

Das obige ist der detaillierte Inhalt vonWie kann ich eine geordnete Aufzählung von Wörterbuchelementen in C# garantieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage