C# - Checando Null de uma forma mais elegante e concisa
Se você ainda esta usando instruções if para checar se um objeto é null então precisa ler este artigo. |
Se você ainda usa uma estrutura if/then para verificar se um objeto é null saiba que pode melhorar o seu código e ganhar tempo.
Em um passado cada vez mais distante, você tinha que usar uma estrutura if/then para verificar se um objeto era null usando um código parecido com este:
if (valor != null)
{
valor.Trim().ToUpper();
...
}
|
Mas a partir da versão 6.0 da linguagem C# você esta livre desse código.
A partir desta versão podemos usar o símbolo “?” , conhecido como “null-conditional operator” ou elvis operator para os íntimos, para verificar referências nulas.
Isso te livra das instruções condicionais e o seu código fica mais enxuto e fácil de entender e manter.
Veja como fica o código acima usando o elvis operador (?.):
valor?.Trim().ToUpper();
|
Essa sintaxe determina se valor é nulo; se assim for, os métodos Trim e ToUpper não serão invocados e você não lançará a famigerada exceção NullReferenceException.
Se valor não for nulo, os métodos Trim e ToUpper serão invocados.
O elvis operator (?.) também pode ser empregado para testar cada objeto para null quando o operador de ponto é usado para encadear uma série de acessos a membros de objetos:
Pessoa?.Endereco?.Estado?.Trim().ToUpper();
|
Nesse
caso, se qualquer um dos três primeiros objetos (Pessoa,
Endereco ou Estado) for nulo, o
operador ponto não é invocado para esse objeto nulo e a execução da expressão
cessa.
Assim este operador te permite acessar membros e elementos apenas quando o receptor for não null, caso contrário irá retornar o resultado null.
Veja isso atuando nos exemplos abaixo:
int? tamanho = pessoa?.Length; // se pessoa for null retorna null
|
O código acima seria equivalente ao código abaixo usando a abordagem clássica:
int? tamanho = (pessoa != null) ? (int?)pessoa.Length : null;
|
Bem melhor, não é mesmo ???
Então atualize-se e crie um código mais enxuto.
(Disse Jesus) - "Então aparecerá no céu o sinal do Filho do homem; e todas as tribos da terra se lamentarão, e verão o Filho do homem, vindo sobre as nuvens do céu, com poder e grande glória."
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET
C# - Recursos que você tem que conhecer - Macoratti
C# - 7 recursos da linguagem que talvez você não ... - Macoratti
C# - Cinco conceitos básicos que você tem que conhecer - Macoratti