Rimuovere l'assegnazione di valori non necessari (IDE0059)

Proprietà valore
ID regola IDE0059
Title Rimuovere l'assegnazione di valori non necessari
Categoria Style
Sottocategoria Regole di codice non necessarie (preferenze a livello di espressione)
Linguaggi applicabili C# r Visual Basic
Opzioni csharp_style_unused_value_assignment_preference
visual_basic_style_unused_value_assignment_preference

Panoramica

Questa regola contrassegna le assegnazioni di valori non necessarie. Ad esempio:

// IDE0059: value written to 'v' is never
// read, so assignment to 'v' is unnecessary.
int v = Compute();
v = Compute2();

Per correggere questa violazione, è possibile eseguire una delle azioni seguenti:

  • Se l'espressione sul lato destro dell'assegnazione non ha effetti collaterali, rimuovere l'espressione o l'intera istruzione di assegnazione. Ciò migliora le prestazioni evitando calcoli non necessari.

    int v = Compute2();
    
  • Se l'espressione a destra dell'assegnazione ha effetti collaterali, sostituire il lato sinistro dell'assegnazione con una variabile discard (solo C#) o una variabile locale mai usata. Ignora migliora la chiarezza del codice mostrando in modo esplicito la finalità di eliminare un valore inutilizzato.

    _ = Compute();
    int v = Compute2();
    

Opzioni

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

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

csharp_style_unused_value_assignment_preference

Proprietà valore Descrizione
Nome opzione csharp_style_unused_value_assignment_preference
Linguaggi applicabili C#
Valori delle opzioni discard_variable Preferisce usare un'operazione di eliminazione quando si assegna un valore non usato
unused_local_variable Preferisce usare una variabile locale quando si assegna un valore non usato
Valore dell'opzione predefinito discard_variable
// csharp_style_unused_value_assignment_preference = discard_variable
int GetCount(Dictionary<string, int> wordCount, string searchWord)
{
    _ = wordCount.TryGetValue(searchWord, out var count);
    return count;
}

// csharp_style_unused_value_assignment_preference = unused_local_variable
int GetCount(Dictionary<string, int> wordCount, string searchWord)
{
    var unused = wordCount.TryGetValue(searchWord, out var count);
    return count;
}

visual_basic_style_unused_value_assignment_preference

Proprietà valore Descrizione
Nome opzione visual_basic_style_unused_value_assignment_preference
Linguaggi applicabili Visual Basic
Valori delle opzioni unused_local_variable Preferisce usare una variabile locale quando si assegna un valore non usato
Valore dell'opzione predefinito unused_local_variable
' visual_basic_style_unused_value_assignment_preference = unused_local_variable
Dim unused = Computation()

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

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

[*.{cs,vb}]
dotnet_diagnostic.IDE0059.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.

Proprietà valore
ID regola IDE0059
Title Il valore non è usato
Categoria Style
Linguaggi applicabili F#
Opzioni None

Panoramica

Questa regola contrassegna le assegnazioni di valori non necessarie. Ad esempio, answer è inutilizzato nel frammento di codice seguente:

type T() =
    let answer = 42

Vedi anche