ExpertiDict

C# · Intermediário · Inglês · Técnico

nullable reference types

/ˈnʌləbəl ˈrɛfɚəns taɪps/substantivo

Recurso que anota se referências podem ser null (string?) ou não (string) e faz o compilador emitir avisos de fluxo; é checagem estática, sem efeito em execução.

Onde usar

Habilitado com Nullable enable no csproj; em code review aparecem os avisos CS86xx e o uso do operador ! para silenciá-los. Projetos antigos migram arquivo a arquivo com #nullable enable.

Em código

#nullable enable
string a = "x";
string? b = null;
Console.WriteLine(a.Length);
Console.WriteLine(b.Length);   // aviso CS8602
if (b is not null)
  Console.WriteLine(b.Length);

Exemplos

Turn on nullable reference types to catch these warnings early.

Ative nullable reference types para pegar esses avisos cedo.

The compiler warns because the string could be null.

O compilador avisa porque a string pode ser null.

Cuidado

Não é garantia: o null ainda pode chegar por reflexão, JSON ou código legado, então valide as fronteiras do sistema; e silenciar tudo com ! anula o benefício.

Sinônimos

NRT

Veja também

Todos os termos de C#