title: What is the collection version of SingleOrDefault for a Dictionary<T>?
body: <p>Title kind of says it all.  I just can't seem to find a <code>DictionaryOrDefault</code> \ <code>ListOrDefault</code> \ <code>CollectionOrDefault</code> option.</p>
  
  <p>Is there such a method?  If not how do I do this:</p>
  
  <pre><code>MyClass myObject = MyDictionary
      .SingleOrDefault(x =&gt;
                          {
                              if (x.Value != null)
                                  return (x.Value.Id == sourceField.SrcField.Id);
                              else
                                  return false;
                          }).Key;
  </code></pre>
  
  <p>if there is more than one match?  (I am getting an execption because SingleOrDefault is only meant for single results (imagine that!).)</p>
  
  <hr>
  
  <p>Guess I needed to be clearer (though the <code>where</code> answers looks good).</p>
  
  <p>I have the above statement.  I changed my program so that it does not always return 1 (there can be several values that match one key).  That fails so I am looking for a collection to be returned (rather than just one item).</p>