Freigeben über


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:

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

Siehe auch