Condividi tramite


Usare la propagazione Null (IDE0031)

Proprietà Valore
ID regola IDE0031
Titolo Usare la propagazione nulla
Categoria Stile
sottocategoria 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 utilizzare gli operatori condizionali null o le espressioni condizionali ternarie con controlli di 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 Preferisci utilizzare l'operatore condizionale null quando possibile
false Preferire l'uso del controllo null ternario laddove possibile
valore di 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 desidera eliminare solo una singola violazione, aggiungere direttive del 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, impostarne la gravità su none nel file di configurazione .

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

Per disabilitare tutte le regole di tipo 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.

Vedere anche