Usar propagação nula (IDE0031)

Propriedade Valor
ID da regra IDE0031
Título Usar propagação nula
Categoria Estilo
Subcategoria Regras de linguagem (preferências no nível de expressão)
Linguagens aplicáveis C# e Visual Basic
Opções dotnet_style_null_propagation

Visão geral

Essa regra de estilo diz respeito ao uso do operador nulo condicional versus uma expressão condicional ternária com verificação nula.

Opções

Configure o valor da opção associada para especificar se são operadores condicionais nulos ou expressões condicionais ternárias com verificações nulas.

Para obter mais informações sobre como configurar as opções, consulte Formato da opção.

dotnet_style_null_propagation

Propriedade Valor Descrição
Nome da opção dotnet_style_null_propagation
Valores da opção true Preferir usar o operador condicional nulo quando possível
false Preferir usar a verificação nula ternária quando possível
Valor da opção padrão true
// dotnet_style_null_propagation = true
var v = o?.ToString();

// dotnet_style_null_propagation = false
var v = o == null ? null : o.ToString(); // or
var v = o != null ? o.ToString() : null;
' dotnet_style_null_propagation = true
Dim v = o?.ToString()

' dotnet_style_null_propagation = false
Dim v = If(o Is Nothing, Nothing, o.ToString()) ' or
Dim v = If(o IsNot Nothing, o.ToString(), Nothing)

Suprimir um aviso

Se você quiser suprimir apenas uma violação, adicione diretivas de pré-processador ao arquivo de origem para desabilitar e, em seguida, reabilite a regra.

#pragma warning disable IDE0031
// The code that's violating the rule is on this line.
#pragma warning restore IDE0031

Para desabilitar a regra em um arquivo, uma pasta ou um projeto, defina a severidade como none no arquivo de configuração.

[*.{cs,vb}]
dotnet_diagnostic.IDE0031.severity = none

Para desabilitar todas as regras de estilo de código, defina a severidade da categoria Style como none no arquivo de configuração.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Para obter mais informações, confira Como suprimir avisos de análise de código.

Confira também