tags:

views:

368

answers:

2

I have an object of the type IEnumerable<KeyValuePair<T,U>> keyValueList, I am using

 var getResult= keyValueList.SingleOrDefault();
 if(getResult==/*default */)
 {
 }
 else
 {
 }

How to check whether getResult is the default, in case I can't find the correct element?

I can't check whether it is null or not, because KeyValuePair is a struct.

+1  A: 
if(getResult.Key == default(T) && getResult.Value == default(U))
ChaosPandion
+3  A: 

Try this:

if (getResult.Equals(new KeyValuePair<T,U>()))

or this:

if (getResult.Equals(default(KeyValuePair<T,U>)))
Andrew Hare
I get a compiler error for the first answer (should be .Equals, not ==), but the 2nd should work.
Nader Shirazie
@Nader - Good catch, I have edited my answer :)
Andrew Hare