freeCodeCamp/guide/portuguese/csharp/null-conditional-operator/index.md

1.8 KiB

title localeTitle
Null-conditional Operator Operador Nulo-Condicional

Operador Nulo-Condicional

Operadores condicionais nulos permitem a verificação nula com uma quantidade mínima de código. Por exemplo, se você tivesse uma variável de funcionário do tipo Funcionário com uma propriedade do tipo Endereço, você pode fazer a verificação nula da seguinte forma:

Address address = null; 
 if (employee != null) 
 { 
    address = employee.Address; 
 } 

Você poderia usar um operador condicional padrão para tornar essa verificação mais concisa:

Address address = employee != null ? employee.Address : null; 

No entanto, em C # 6.0 operadores condicionais nulos foram introduzidos, então agora a linha acima pode simplesmente ser representado da seguinte forma:

Address address = student?.Address; 

Se employee for null, o endereço será simplesmente atribuído como null e não ocorrerá NullReferenceExeception. Isso se torna mais útil com gráficos de objeto mais profundos, já que você pode manipular uma cadeia de acesso a membros condicionais.

Por exemplo:

string city = student?.Address?.City; 

Operadores condicionais nulos estão em curto-circuito, assim que uma verificação do acesso de membros condicionais retorna null, o resto não ocorre.

Operador de coalescência nula

Outra opção útil de verificação de nulos é o operador de coalescência nula. Retorna o operando da esquerda se o operando não for nulo; caso contrário, retorna o operando direito.

Por exemplo:

public string GetStringValue() 
 { 
    return null; 
 } 
 
 // Display the value of s if s is NOT null. If x IS null, display the string "It was null." 
 
 string x = GetStringValue(); 
 
 Console.WriteLine(x ?? "It was null."); 
 
 // Result: 
 
 "It was null."