Próbuję użyć LINQ do pobrania niektórych danych ze słownika.Używanie Lambda ze słownikami
var testDict = new Dictionary<int, string>();
testDict.Add(1, "Apple");
testDict.Add(2, "Cherry");
var q1 = from obj in testDict.Values.Where(p => p == "Apple");
var q2 = from obj in testDict.Where(p => p.Value == "Apple");
Powyższe linie, q1 i q2, powodują błąd kompilatora.
error CS0742: A query body must end with a select clause or a group clause
Jak używać LINQ do wyszukiwania wartości w słowniku?
Dziękuję
Rick
Właśnie w celu wyjaśnienia, powodem tego jest to, że działa słownika działa jako IEnumerable> –
drugie wyrażenie powinno mieć również p.Value == „Apple”, jak p będzie Pair <,>. – Richard
Otrzymają one wyrażenie, które zwraca wynik IEnumerable. Jeśli faktycznie chcesz rzeczywistego obiektu, musisz zadzwonić do Single() lub First() –