O que é operador de coalescência nula em C #

O Que E Operador De Coalescencia Nula Em C



C # é uma linguagem de programação amplamente utilizada, projetada para criar aplicativos eficientes e robustos para várias plataformas. A linguagem tem muitos recursos avançados, incluindo o operador de coalescência nula , que ajuda a simplificar o código complexo fornecendo uma sintaxe compacta para lidar com valores nulos. Este operador tornou-se popular entre os desenvolvedores que procuram um método direto para lidar com nulo valores em seus projetos.

Este artigo entrará em detalhes sobre o operador de coalescência nula .







O que é um operador de coalescência nula em C#

Em C#, o símbolo para o operador de coalescência nula é ?? . Se uma variável for nula, ela será usada para fornecer um valor padrão.



Por exemplo, se tivermos uma variável x que pode ser nulo e queremos atribuir um valor padrão de 10 se for nulo, podemos usar o operador de coalescência nula do seguinte modo:



int y = x ?? 10





Esta instrução atribuirá o valor de 10 para y se x for nulo, caso contrário, assumirá o valor de x.

Ele retornará o valor do operando esquerdo se não for nulo. O operando destro é examinado e o resultado é retornado se for nulo. Como alternativa, se o operando esquerdo for avaliado como não nulo, ele não avaliará seu operando direito.



A maneira tradicional de escrever o código sem o operador de coalescência nula é:

se ( resultado é nulo )

retornar nova lista < Pessoa > ( ) ;

retornar resultado;

Podemos condensar isso em uma única linha que contém o valor padrão não nulo e a verificação nula usando o método operador de coalescência nula :

retornar resultado?? nova lista < Pessoa > ( ) ;

Alguns pontos importantes a serem lembrados operador de coalescência nula são:

  • Uma variável deve ser o operando esquerdo do ?? operador.
  • O operando esquerdo do operador ??= não pode ser um tipo não anulável.
  • O operador de união nula não pode ser sobrecarregado.
  • O operador de coalescência nula é associativo à direita. Isso significa que uma expressão como a ??= b ??= c será avaliada como ??= (b ??= c).

Usos do operador de coalescência nula

Os usos do operador de coalescência nula são:

1: Fornecimento de valores padrão

Ao trabalhar com tipos anuláveis, se o valor for nulo, você pode usar o operador de coalescência nula para fornecer um valor padrão em vez de lançar uma exceção.

usando Sistema;

Programa de classe pública
{
public static void Principal ( )
{
int? nullableValue = null;
valor int = nullableValue ?? 10 ;
Console.WriteLine ( 'O valor é: ' + valor ) ;
}
}

No exemplo acima, definimos o inteiro nullableValue variável e dar-lhe um valor de zero. O operador de coalescência nula é usado para fornecer à variável de valor um valor padrão de 10 se nullableValue for nulo. Em seguida, o valor é exibido no console.

2: Evitando exceções de referência nula

Valores nulos podem resultar em exceções de referência nula ao trabalhar com estruturas de dados sofisticadas, como objetos e matrizes. Essas exceções podem ser evitadas usando o operador de coalescência nula , que fornece valores padrão.

usando Sistema;

classe pública minhaClasse
{
nome da string pública { pegar; definir ; }
ID int público { pegar; definir ; }
}
Programa de classe pública
{
public static void Principal ( )
{
minhaClasse pessoa = null;
string nome = pessoa?.Nome ?? 'Desconhecido' ;
int eu ia = pessoa?.ID ?? 0 ;
Console.WriteLine ( 'Nome: ' + nome ) ;
Console.WriteLine ( 'EU IA: ' + eu ia ) ;
}
}

Nome e EU IA são atributos do minha classe classe no código acima. Para acessar com segurança o Nome e EU IA propriedades do objeto pessoa e fornecer valores padrão se forem nulos, ele define uma variável de pessoa como nula e, em seguida, utiliza o operador condicional nulo (?.) e o operador de coalescência nula (??). Em seguida, o console é impresso com os valores de nome e id.

3: Removendo condições redundantes if-else

Você também pode usar o operador de coalescência nula para tornar seu código mais conciso e legível, removendo a necessidade de redundância condições if-else .

Por exemplo:

usando Sistema;

exemplo de namespace
{
classe minhaclasse
{
vazio estático Principal ( corda [ ] argumentos )
{
int? nullableValue = null;
valor int;
se ( nullableValue ! = nulo )
{
valor = nullableValue.Value;
}
outro
{
valor = 10 ;
}
Console.WriteLine ( 'O valor é: ' + valor ) ;
}
}
}

No código acima, o operador de coalescência nula ?? é usado para atribuir o valor de nullableValue dar valor. Se nullableValue não é nulo, então o valor terá o mesmo valor que nullableValue . Se nullableValue é nulo, então o valor terá o valor de 10. O if-else condição não é mais necessária e o código agora é mais curto e fácil de compreender.

Conclusão

O operador de coalescência nula em C# é um recurso poderoso que simplifica a maneira como os desenvolvedores lidam com valores nulos em seus projetos. Esse operador fornece uma sintaxe compacta, eficiente e flexível para atribuir valores padrão a variáveis ​​que podem ser nulas. Usando o operador de coalescência nula , os desenvolvedores podem escrever um código mais legível, sustentável e eficiente, economizando tempo e esforço no processo de desenvolvimento.