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