Tytułowy tytuł mówi wszystko. Po prostu nie mogę znaleźć opcji.Co to jest wersja kolekcji SingleOrDefault dla słownika <T>?
Czy istnieje taka metoda? Jeśli nie, jak to zrobić:
MyClass myObject = MyDictionary
.SingleOrDefault(x =>
{
if (x.Value != null)
return (x.Value.Id == sourceField.SrcField.Id);
else
return false;
}).Key;
jeśli jest więcej niż jeden mecz? (Dostaję execption ponieważ SingleOrDefault jest przeznaczona tylko dla pojedynczych wyników (wyobrazić, że!).)
Guess muszę być jaśniejszy (choć where
odpowiedzi wygląda dobrze).
Mam powyższe oświadczenie. Zmieniłem program tak, aby nie zawsze zwracał 1 (może być kilka wartości pasujących do jednego klawisza). To się nie udaje, więc szukam kolekcji, która ma zostać zwrócona (a nie tylko jeden przedmiot).
Małe wyjaśnienie tutaj, starasz się uzyskać wiele wartości, które dopasować predykat, lub tylko jeden, w zależności od tego, który jest? –
"Tytułowy rodzaj mówi wszystko." Niezupełnie, co masz na myśli przez 'DictionaryOrDefault'? Proszę dokładnie i wyraźnie określić oczekiwaną semantykę. – jason
, więc to, czego chcesz, to coś, co zwraca zero, jeśli nic nie pasuje, lub listę, jeśli jeden lub więcej ma? –