Fusionieren Sie mehrere Wörterbücher effizient in C#
Wenn Sie mit mehreren Wörterbüchern in C#arbeiten, kann es eine gemeinsame Aufgabe sein. Hier ist eine robuste und effiziente Methode, um dies zu erreichen:
public static Dictionary<TKey, TValue> Merge<TKey, TValue>(IEnumerable<Dictionary<TKey, TValue>> dictionaries) { return dictionaries.SelectMany(dict => dict).ToDictionary(pair => pair.Key, pair => pair.Value); }
Diese Erweiterungsmethode enthält eine aufzählbare Sammlung von Wörterbüchern als Argument und flacht sie in ein einzelnes Wörterbuch aus, indem sie alle Schlüsselwerte aus jedem Wörterbuch mit SelectMany auswählt . Anschließend konvertiert das Ergebnis in ein neues Wörterbuch, das unter Verwendung der Tasten und Werte aus den abgeflachten Paaren verwendet wird. In .NET -Versionen vor 8 wird eine Ausnahme ausgelöst. In .NET 8 und später ignoriert die neu definierte Überlastung von Kleinkindern doppelte Schlüssel. Wenn Sie dies in ein Wörterbuch mit einzigartigen Schlüssel konvertieren, erfordert jedoch zusätzliche Schritte, wie aus dem angegebenen Referenzcode gezeigt. SelectMany -Operator, um die Wörterbücher abzuflachen und eine neue effizient zu erstellen.
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Wörterbücher in C# effizient zusammenführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!