title: Check if KeyValuePair exists with LINQ's FirstOrDefault
body: <p>I have a dictionary of type </p>
  
  <pre><code>Dictionary&lt;Guid,int&gt;
  </code></pre>
  
  <p>I want to return the first instance where a condition is met using </p>
  
  <pre><code>var available = m_AvailableDict.FirstOrDefault(p =&gt; p.Value == 0)
  </code></pre>
  
  <p>However, how do I check if I'm actually getting back a KeyValuePair? I can't seem to use != or == to check against default(KeyValuePair) without a compiler error.  There is a similar thread <a href="https://stackoverflow.com/questions/648115/how-can-an-object-not-be-compared-to-null">here</a> that doesn't quite seem to have a solution. I'm actually able to solve my particular problem by getting the key and checking the default of Guid, but I'm curious if there's a good way of doing this with the keyvaluepair. Thanks</p>