Tengo un objeto del tipo IEnumerable<KeyValuePair<T,U>> keyValueList, estoy usando
var getResult= keyValueList.SingleOrDefault();
if(getResult==/*default */)
{
}
else
{
}
¿Cómo puedo verificar si getResultes el predeterminado, en caso de que no pueda encontrar el elemento correcto?
No puedo verificar si es nullo no, porque KeyValuePaires una estructura.

Respuestas:
Prueba esto:
o esto:
fuente
if (getResult.Equals(default))también funcionadefaultes igual a nulo Ydefault(KeyValuePair<T,U>)es un KeyValuePair real que contienenull, null. Experimenté esto yo mismo.Puede crear un método de extensión general (y genérico), como este:
Uso:
fuente
Prueba esto:
fuente
fuente
Recomiendo una forma más comprensiva usando el método de extensión:
Y luego solo usa:
fuente
Desde su código original, parece que lo que quiere es verificar si la lista estaba vacía:
fuente
Para evitar el boxeo de
KeyValuePair.Equals(object)usted puede usar aValueTuple.fuente