Entfernen einer unnötigen Wertzuweisung (IDE0059)
Eigentum | Wert |
---|---|
Regel-ID | IDE0059 |
Titel | Entfernen einer unnötigen Wertzuweisung |
Kategorie | Stil |
Unterkategorie | Unnötige Coderegeln (Einstellungen auf Ausdrucksebene) |
Anwendbare Sprachen | C# und Visual Basic |
Optionen | csharp_style_unused_value_assignment_preference |
visual_basic_style_unused_value_assignment_preference |
Überblick
Diese Regel kennzeichnet unnötige Wertzuweisungen. Zum Beispiel:
// IDE0059: value written to 'v' is never
// read, so assignment to 'v' is unnecessary.
int v = Compute();
v = Compute2();
Sie können eine der folgenden Aktionen ausführen, um diese Verletzung zu beheben:
Wenn der Ausdruck auf der rechten Seite der Zuweisung keine Nebeneffekte hat, entfernen Sie den Ausdruck oder die gesamte Zuweisungsanweisung. Dadurch wird die Leistung verbessert, indem unnötige Berechnungen vermieden werden.
int v = Compute2();
Wenn der Ausdruck Nebeneffekte hat, ersetzen Sie die linke Seite der Zuweisung durch eine Ausschussvariable (nur C#) oder eine lokale Variable, die nie verwendet wird. Verwirft die Codeklarkeit, indem explizit die Absicht angezeigt wird, einen nicht verwendeten Wert zu verwerfen.
_ = Compute(); int v = Compute2();
Optionen
Die Optionen hierfür geben an, ob die Verwendung einer verworfenen oder nicht verwendeten lokalen Variablen bevorzugt werden soll:
- C# – csharp_style_unused_value_assignment_preference
- Visual Basic – visual_basic_style_unused_value_assignment_preference
Informationen zum Konfigurieren von Optionen finden Sie unter Option format.
csharp_style_unused_value_assignment_preference
Eigentum | Wert | Beschreibung |
---|---|---|
Optionenname | csharp_style_unused_value_assignment_preference | |
Anwendbare Sprachen | C# | |
Optionswerte | discard_variable |
Bevorzugt eine Ausschussvariable verwenden, wenn ein nicht genutzter Wert zugewiesen ist |
unused_local_variable |
Verwenden Sie beim Zuweisen eines nicht verwendeten Werts lieber eine lokale Variable. | |
Standardwert für Option | 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
Eigentum | Wert | Beschreibung |
---|---|---|
Optionsname | visual_basic_style_unused_value_assignment_preference | |
Anwendbare Sprachen | Visual Basic | |
Optionswerte | unused_local_variable |
Verwenden Sie beim Zuweisen eines nicht verwendeten Werts lieber eine lokale Variable. |
Standardwert der Option | unused_local_variable |
' visual_basic_style_unused_value_assignment_preference = unused_local_variable
Dim unused = Computation()
Unterdrücken einer Warnung
Wenn Sie nur einen einzelnen Verstoß unterdrücken möchten, fügen Sie Ihrer Quelldatei Präprozessordirektiven hinzu, um die Regel zu deaktivieren und dann erneut zu aktivieren.
#pragma warning disable IDE0059
// The code that's violating the rule is on this line.
#pragma warning restore IDE0059
Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdateiauf none
fest.
[*.{cs,vb}]
dotnet_diagnostic.IDE0059.severity = none
Um alle Codestilregeln zu deaktivieren, legen Sie den Schweregrad für die Kategorie Style
in der Konfigurationsdateiauf none
fest.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Weitere Informationen finden Sie unter So unterdrücken Sie Codeanalysewarnungen.
Eigentum | Wert |
---|---|
Regel-ID | IDE0059 |
Titel | Der Wert wird nicht genutzt. |
Kategorie | Stil |
Anwendbare Sprachen | F# |
Optionen | Nichts |
Überblick
Diese Regel kennzeichnet unnötige Wertzuweisungen. Beispielsweise wird answer
im folgenden Codeausschnitt nicht verwendet:
type T() =
let answer = 42