Auf Englisch lesen

Teilen über


Entfernen einer unnötigen Wertzuweisung (IDE0059)

Auswählen einer Codesprache
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:

C#
// 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.

    C#
    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.

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

Optionen

Die Optionen hierfür geben an, ob die Verwendung einer verworfenen oder nicht verwendeten lokalen Variablen bevorzugt werden soll:

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
C#
// 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
VB
' 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.

C#
#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.

ini
[*.{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.

ini
[*.{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:

F#
type T() =
    let answer = 42

Siehe auch