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 getResult
es el predeterminado, en caso de que no pueda encontrar el elemento correcto?
No puedo verificar si es null
o no, porque KeyValuePair
es una estructura.
Respuestas:
Prueba esto:
o esto:
fuente
if (getResult.Equals(default))
también funcionadefault
es 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