Wie findet man einen Wert in einem Dictionary in C#?
Ein Dictionary besteht aus Key-Value Elementen, das
heißt, es sind immer Paar-Einträge mit einem Schlüssel und einem Wert wie <"ABC1000","Maier">
Settings sind zum Beispiel ein Dictionary.
Das Dictionary bietet als einfach Suche nur die Suche
nach dem Key-Schlüssel oder einer Kombination von Key und Wert.
Wenn man aber nach einem Wert suchen möchte, dann muss
man die Suche wie folgt schreiben
var Treffer=
dict.FirstOrDefault(x =>
x.Value.ToString() == suchtext);
|
Da das gefundene Element ein KeyValuePair ist, kann man
dieses nicht direkt mit Null vergleichen. Stattdessen muss man den internen Schlüssel
gegen null vergleichen.
if
(find_Item.Key==null) return;
|
Code-Beispiel zum Suchen eines Wertes in den Settings als
Dictionary und dem anschliessenden vergleich ob ein Treffer unter den Werten vorhanden
ist.
//-< check exists >-
System.Collections.Generic.KeyValuePair<string, object> find_Item =
ApplicationData.Current.LocalSettings.Containers["Used_Folders"].Values.FirstOrDefault(x =>
x.Value.ToString() == sFolder);
if (find_Item.Key==null)
{
return;
}
//-</ check exists >-
|