The default for KeyValuePair
问题 I have an object of the type IEnumerable<KeyValuePair<T,U>> keyValueList , I am using var getResult= keyValueList.SingleOrDefault(); if(getResult==/*default */) { } else { } How can I 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: Try this: if (getResult.Equals(new KeyValuePair<T,U>())) or this: if (getResult.Equals(default(KeyValuePair<T,U>))) 回答2: You can create a general (and