Condividi tramite


Rimuovere l'assegnazione di valori non necessari (IDE0059)

Proprietà Valore
Identificativo regola IDE0059
Titolo Rimuovere l'assegnazione di valori non necessari
categoria Stile
sottocategoria Regole di codice non necessarie (preferenze a livello di espressione)
lingue applicabili C# e 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. Per 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 un eliminare (solo C#) o una variabile locale mai usata. I caratteri di scarto migliorano la chiarezza del codice mostrando in modo esplicito l'intento di ignorare 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 opzione.

csharp_style_unused_value_assignment_preference

Proprietà Valore Descrizione
nome opzione csharp_style_unused_value_assignment_preference
lingue applicabili C#
valori di opzione 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 di 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
lingue applicabili Visual Basic
valori di opzione unused_local_variable Preferisce usare una variabile locale quando si assegna un valore non usato
valore di 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à su none nel file di configurazione .

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

Proprietà Valore
ID regola IDE0059
titolo Il valore non è usato
categoria Stile
lingue applicabili F#
Opzioni Nessuno

Panoramica

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

type T() =
    let answer = 42

Vedere anche