Quando criei este blog, o meu objetivo principal era compartilhar conhecimento com a comunidade. E o post de hoje é fruto desta interação. No meu artigo Immediate IF um leitor, que infelizmente não se identificou, citou em um comentário o operador”??” do C#. Confesso que não conhecia o operador, mas fui atrás do link que o leitor deixou para ver do que se tratava. E agora resolvi fazer um artigo para apresentar este operador a vocês.
O operador ??, chamado de null-coalescing é usado para definir um valor default em operações com tipos de valores que podem ser nulos. Em outras palavras, é usado para verificar se uma variável é nula, e se sim, retornar um valor válido. Se a varável testada for nula, retorna o valor padrão informado, algo como o IsNull do T-SQL. Veja um exemplo extraído da documentação do MSDN para entender do que estou falando:
int? x = null;
int y = x ?? -1; // y vai receber -1
No exemplo apresentado, declaramos a variável ”x”, como um int nullable (nullable é uma variável que pode receber null – abordarei este assunto num post futuro), e atribuímos null a “x”. Declaramos também a variável “y” como um int normal, ou seja, não pode receber o valor null. Se fizermos a operação int y = x, o .NET vai retornar um erro dizendo que “y” não pode ser nulo. Assim, para evitar esta exception usa-se o “??”. Se o valor à esquerda for nulo, retornará o valor que está à direita do operador, neste caso “-1”.
0 comentários:
Postar um comentário