ExpertiDict

C# · Essencial · Inglês · Técnico

null-coalescing operator

/nʌl ˌkoʊəˈlɛsɪŋ ˈɑpəˌreɪtɚ/operador

Operador ?? que devolve o lado esquerdo se ele não for null e, caso contrário, o direito; o ??= atribui só quando a variável é null.

Onde usar

Usado para valores padrão e inicialização preguiçosa, como cache ??= new List<int>(). Combinado com throw, valida argumentos em uma linha.

Em código

string? apelido = null;
string nome = apelido ?? "visitante";
List<int>? cache = null;
cache ??= new List<int>();
Console.WriteLine($"{nome} {cache.Count}");

Exemplos

Fall back to the default with the null-coalescing operator.

Use o valor padrão com o operador de coalescência nula.

I used ??= to initialize the cache lazily.

Usei ??= para inicializar o cache de forma preguiçosa.

Cuidado

Não espere que o ?? trate string vazia: um texto vazio não é null e passa direto, sem receber o valor padrão.

Sinônimos

coalescência nula

Veja também

Todos os termos de C#