C# · Essencial · Inglês · Técnico
null-coalescing operator
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