Eu tenho um objeto do tipo IEnumerable<KeyValuePair<T,U>> keyValueList
, estou usando
var getResult= keyValueList.SingleOrDefault();
if(getResult==/*default */)
{
}
else
{
}
Como posso verificar se getResult
é o padrão, caso não encontre o elemento correto?
Não posso verificar se é null
ou não, porque KeyValuePair
é uma estrutura.
Respostas:
Tente o seguinte:
ou isto:
fonte
if (getResult.Equals(default))
também funcionadefault
é igual a nulo. Edefault(KeyValuePair<T,U>)
é um KeyValuePair real que contémnull, null
. Eu experimentei isso sozinho.Você pode criar um método de extensão geral (e genérico), como este:
Uso:
fonte
Tente o seguinte:
fonte
fonte
Eu recomendo uma maneira mais compreensiva usando o método de extensão:
E então basta usar:
fonte
No seu código original, parece que você deseja verificar se a lista estava vazia:
fonte
Para evitar o boxe,
KeyValuePair.Equals(object)
você pode usar aValueTuple
.fonte