Condividi tramite


Usare la propagazione Null (IDE0031)

Proprietà Valore
ID regola IDE0031
Titolo Usare la propagazione null
Categoria Stile
Subcategory Regole del linguaggio (preferenze a livello di espressione)
Lingue applicabili C# e Visual Basic
Opzioni dotnet_style_null_propagation

Panoramica

Questa regola di stile riguarda l'uso dell'operatore condizionale Null rispetto a un'espressione condizionale ternaria con controllo Null.

Opzioni

Impostare il valore dell'opzione associata per specificare se gli operatori condizionali null o le espressioni condizionali ternarie con controlli Null.

Per altre informazioni sulla configurazione delle opzioni, vedere Formato opzione.

dotnet_style_null_propagation

Proprietà Valore Descrizione
Nome opzione dotnet_style_null_propagation
Valori di opzione true Preferisce usare l'operatore condizionale Null quando possibile
false Preferisce usare il controllo null ternario, dove possibile
Valore dell'opzione predefinito 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)

Eliminare un avviso

Se si vuole eliminare solo una singola violazione, aggiungere direttive di preprocessore al file di origine per disabilitare e quindi riabilitare la regola.

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

Per disabilitare la regola per un file, una cartella o un progetto, impostare la relativa gravità su none nel file di configurazione.

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

Per disabilitare tutte le regole in stile codice, impostare la gravità per la categoria Style su none nel file di configurazione.

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

Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.

Vedi anche