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:
- C# - stile_csharp_preferenza_assegnazione_valore_non_utilizzato
- Visual Basic - visual_basic_style_unused_value_assignment_preference
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