Heim > Backend-Entwicklung > C++ > Wie kann ich Wörterbuchschlüssel basierend auf Werten in C# effizient abrufen?

Wie kann ich Wörterbuchschlüssel basierend auf Werten in C# effizient abrufen?

DDD
Freigeben: 2024-12-30 21:19:23
Original
165 Leute haben es durchsucht

How Can I Efficiently Retrieve Dictionary Keys Based on Values in C#?

Wörterbuchschlüssel basierend auf Werten in C# abrufen

In C# sind Wörterbücher Schlüssel-Wert-Paare, bei denen jeder eindeutige Schlüssel einem einzelnen Wert entspricht . Das Abrufen des Schlüssels aus einem Wert wird jedoch nicht direkt unterstützt. Dieser Artikel bietet effiziente Lösungen zur Bewältigung dieser Herausforderung.

Verwenden einer Suche

Da Werte in einem Wörterbuch möglicherweise nicht eindeutig sind, müssen Sie eine Suche durchführen, um sie zu finden entsprechenden Schlüssel. Dies kann mit der FirstOrDefault-Methode der Queryable-Klasse wie folgt erreicht werden:

var myKey = types.FirstOrDefault(x => x.Value == "one").Key;
Nach dem Login kopieren

Diese Zeile durchläuft das Wörterbuch mithilfe eines Lambda-Ausdrucks und gibt den ersten Schlüssel zurück, bei dem der zugehörige Wert mit „eins“ übereinstimmt.

Verwendung eines inversen Wörterbuchs

Wenn Werte im Wörterbuch garantiert eindeutig sind und seltener eingefügt als gelesen werden, Sie können ein weiteres Wörterbuch erstellen, in dem Werte zu Schlüsseln werden und umgekehrt. Dieses inverse Wörterbuch kann den Schlüsselabruf beschleunigen:

Dictionary<string, string> inverseTypes = new Dictionary<string, string>();

foreach (var item in types)
{
    inverseTypes[item.Value] = item.Key;
}

string myKey = inverseTypes["one"];
Nach dem Login kopieren

Dieser Ansatz ermöglicht die direkte Suche von Schlüsseln nach Werten, erfordert jedoch die Beibehaltung sowohl des ursprünglichen als auch des inversen Wörterbuchs.

HashTable oder SortedLists

Hash-Tabellen und sortierte Listen eignen sich nicht so gut zum Abrufen von Schlüsseln nach Wert wie Wörterbücher. Sie bieten im Allgemeinen keine effiziente Möglichkeit, anhand eines bestimmten Werts nach einem Schlüssel zu suchen. Wörterbücher wurden speziell für die effiziente Verarbeitung von Schlüssel-Wert-Paaren entwickelt.

Das obige ist der detaillierte Inhalt vonWie kann ich Wörterbuchschlüssel basierend auf Werten in C# effizient abrufen?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage