Wörterbuchschlüssel nach Wert in C# abrufen
In C# erfordert das Abrufen eines Wörterbuchschlüssels nach seinem zugehörigen Wert einen zusätzlichen Suchvorgang über das Standardwörterbuch hinaus Funktionalität. So kann dies erreicht werden:
Verwendung der FirstOrDefault()-Methode:
Wenn die Eindeutigkeit der Werte im Wörterbuch nicht garantiert ist, können Sie die FirstOrDefault( )-Methode der Enumerable-Klasse, um den ersten passenden Wert zu finden:
// Dictionary with string keys and values Dictionary<string, string> types = new Dictionary<string, string>() { { "1", "one" }, { "2", "two" }, { "3", "three" } }; // Get the key associated with the value "one" string myKey = types.FirstOrDefault(x => x.Value == "one").Key;
In diesem Fall enthält myKey den Wert „1“. Beachten Sie, dass dieser Ansatz möglicherweise keinen Schlüssel zurückgibt, wenn mehrere Werte im Wörterbuch denselben Wert haben.
Erstellen eines inversen Wörterbuchs:
Alternativ, wenn Werte eindeutig sind und seltener eingefügt als gelesen werden, können Sie ein inverses Wörterbuch erstellen, in dem Werte Schlüssel und Schlüssel Werte sind:
// Create an inverse dictionary Dictionary<string, string> inverseTypes = new Dictionary<string, string>(); // Populate the inverse dictionary foreach (var kvp in types) { inverseTypes[kvp.Value] = kvp.Key; } // Get the key associated with the value "one" string myKey = inverseTypes["one"];
Mit diesem Ansatz erfolgt die Suche Die Operation kann direkt mit dem inversen Wörterbuch durchgeführt werden, ohne dass eine separate Suche erforderlich ist. Beachten Sie, dass diese Option aufgrund der Erstellung des inversen Wörterbuchs zusätzlichen Speicheraufwand mit sich bringt.
Das obige ist der detaillierte Inhalt vonWie rufe ich Wörterbuchschlüssel aus Werten in C# ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!