Rimuovere il valore dell'espressione non necessario (IDE0058)

Proprietà Valore
ID regola IDE0058
Titolo Rimuovere il valore dell'espressione non necessario
Categoria Stile
Subcategory Regole del linguaggio (preferenze a livello di espressione)
Lingue applicabili C# e Visual Basic
Opzioni csharp_style_unused_value_expression_statement_preference
visual_basic_style_unused_value_expression_statement_preference

Panoramica

Questa regola contrassegna i valori di espressione inutilizzati. Ad esempio:

void M()
{
  Compute(); // IDE0058: computed value is never used.
}

int Compute();

È possibile eseguire una delle azioni seguenti per correggere questa violazione:

  • Se l'espressione non ha effetti collaterali, rimuovere l'intera istruzione. Ciò migliora le prestazioni evitando il calcolo non necessario.

  • Se l'espressione ha effetti collaterali, sostituire il lato sinistro dell'assegnazione con un'eliminazione (solo C#) o una variabile locale che non viene mai usata. Questo migliora la chiarezza del codice mostrando in modo esplicito la finalità di eliminare un valore inutilizzato.

    _ = Compute();
    

Opzioni

Le opzioni per questo specificano se preferire l'uso di una variabile locale non utilizzata o non utilizzata:

Per informazioni sulla configurazione delle opzioni, vedere Formato opzione.

csharp_style_unused_value_expression_statement_preference

Proprietà Valore Descrizione
Nome opzione csharp_style_unused_value_expression_statement_preference
Lingue applicabili C#
Valori di opzione discard_variable Preferisce assegnare un'espressione inutilizzata a un'eliminazione
unused_local_variable Preferisce assegnare un'espressione inutilizzata a una variabile locale che non viene mai usata
Valore dell'opzione predefinito discard_variable
// Original code:
System.Convert.ToInt32("35");

// After code fix for IDE0058:

// csharp_style_unused_value_expression_statement_preference = discard_variable
_ = System.Convert.ToInt32("35");

// csharp_style_unused_value_expression_statement_preference = unused_local_variable
var unused = Convert.ToInt32("35");

visual_basic_style_unused_value_expression_statement_preference

Proprietà Valore Descrizione
Nome opzione visual_basic_style_unused_value_expression_statement_preference
Lingue applicabili Visual Basic
Valori di opzione unused_local_variable Preferisce assegnare un'espressione inutilizzata a una variabile locale che non viene mai usata
Valore dell'opzione predefinito unused_local_variable
' visual_basic_style_unused_value_expression_statement_preference = unused_local_variable
Dim unused = Computation()

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 IDE0058
// The code that's violating the rule is on this line.
#pragma warning restore IDE0058

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.IDE0058.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