Freigeben über


Unnötige Wertzuweisung entfernen (IDE0059)

Eigenschaft Wert
Regel-ID IDE0059
Titel Unnötige Wertzuweisung entfernen
Kategorie Stil
Unterkategorie Unnötige Code-Regeln (Einstellungen auf Ausdrucksebene)
Gültige Sprachen C# und Visual Basic
Optionen csharp_style_unused_value_assignment_preference
visual_basic_style_unused_value_assignment_preference

Übersicht

Diese Regel markiert unnötige Wertzuweisungen. Beispiel:

// IDE0059: value written to 'v' is never
// read, so assignment to 'v' is unnecessary.
int v = Compute();
v = Compute2();

Benutzer können eine der folgenden Maßnahmen ergreifen, um diesen Verstoß zu korrigieren:

  • 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, da 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 Sie lieber eine Ausschussvariable oder eine nicht verwendete lokale Variable nutzen möchten:

Informationen zum Konfigurieren von Optionen finden Sie unter Optionsformat.

csharp_style_unused_value_assignment_preference

Eigenschaft Wert Beschreibung
Name der Option csharp_style_unused_value_assignment_preference
Gültige Sprachen C#
Optionswerte discard_variable Bevorzugt eine Ausschussvariable verwenden, wenn ein nicht genutzter Wert zugewiesen ist
unused_local_variable Bevorzugt eine lokale Variable verwenden, wenn ein nicht genutzter Wert zugewiesen ist
Standardoptionswert 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

Eigenschaft Wert Beschreibung
Name der Option visual_basic_style_unused_value_assignment_preference
Gültige Sprachen Visual Basic
Optionswerte unused_local_variable Bevorzugt eine lokale Variable verwenden, wenn ein nicht genutzter Wert zugewiesen ist
Standardoptionswert unused_local_variable
' visual_basic_style_unused_value_assignment_preference = unused_local_variable
Dim unused = Computation()

Unterdrücken einer Warnung

Um nur eine einzelne Verletzung zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Regel zu deaktivieren und dann wieder 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 Konfigurationsdatei auf none fest.

[*.{cs,vb}]
dotnet_diagnostic.IDE0059.severity = none

Um alle Regeln im Code-Stil zu deaktivieren, setzen Sie den Schweregrad für die Kategorie in der KonfigurationsdateiStyle auf none.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.

Eigenschaft Wert
Regel-ID IDE0059
Titel Der Wert wird nicht verwendet
Kategorie Stil
Gültige Sprachen F#
Optionen Keine

Überblick

Diese Regel markiert unnötige Wertzuweisungen. Beispielsweise wird answer im folgenden Codeausschnitt nicht verwendet:

type T() =
    let answer = 42

Siehe auch