C# · Intermediário · Inglês · Técnico
nullable reference types
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