TOC

This article has been localized into Portuguese by the community.

Operadores:

Operador de coalescência nula

O operador ?? também é chamado de "operador de coalescência nula" porque permite que você verifique se há um valor nulo e atribuir um valor substituto em uma linha de código. Fazer isso sem este operador pode parecer simples, mas considere o seguinte exemplo:

string userSuppliedName = null; 

if (userSuppliedName == null)
    Console.WriteLine("Hello, Anonymous!");
else
    Console.WriteLine("Hello," + userSuppliedName);

Você deve pensar na variável userSuppliedName como algo que vem do usuário, por exemplo, de um diálogo ou arquivo de dados - algo que poderia resultar no valor NULL. Devemos lidar com isso verificando o valor antes de usá-lo, neste caso, para exibir o nome para o usuário.

No exemplo acima, usamos a abordagem clássica if-else, mas com o operador coalescente de nulos, podemos fazer isso muito mais curto, em uma única linha:

Console.WriteLine("Hello, " + (userSuppliedName ?? "Anonymous")); 

Em uma única instrução, pedimos ao interpretador para usar a variável userSuppliedName se ela tiver um valor - se não, nós fornecemos um valor de fallback, neste caso o nome "Anonymous". Curto e simples!

Resumo

Como acontece com todo o "açúcar sintático", como o operador de coalescência nula, é sempre um compromisso entre manter o código curto e legível. Alguns acham que esses operadores dificultam a leitura e a navegação no código, enquanto outros adoram o quão simples e curto ele é. No final, tudo depende de você!


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!