Название типа говорит все. Я просто не могу найти DictionaryOrDefault
\ ListOrDefault
\ CollectionOrDefault
.Что такое коллекционная версия SingleOrDefault для словаря <T>?
Есть ли такой способ? Если нет, то как это сделать:
MyClass myObject = MyDictionary
.SingleOrDefault(x =>
{
if (x.Value != null)
return (x.Value.Id == sourceField.SrcField.Id);
else
return false;
}).Key;
если есть несколько совпадений? (Я получаю execption потому что SingleOrDefault предназначен только для отдельных результатов (представьте себе!).)
Guess мне нужно быть более ясным (хотя where
ответы выглядит хорошо).
У меня есть вышеуказанное утверждение. Я изменил свою программу, чтобы она не всегда возвращала 1 (может быть несколько значений, соответствующих одному ключу). Это не удается, поэтому я ищу коллекцию, которая будет возвращена (а не только один элемент).
Немного уточнение здесь, вы пытаетесь получить много значений, соответствовать предикату или только одному, в зависимости от того, что это такое? –
«Типичный вид говорит все». Не совсем, что вы подразумеваете под «DictionaryOrDefault»? Просьба указать ожидаемую семантику тщательно, четко и правильно. – jason
, так что вы хотите, это то, что возвращает null, если ничего не соответствует, или список, если один или несколько? –