Dela via


Ta bort onödig värdetilldelning (IDE0059)

Property Värde
Regel-ID IDE0059
Title Ta bort onödig värdetilldelning
Kategori Format
Underkategori Onödiga kodregler (inställningar på uttrycksnivå)
Tillämpliga språk C# och Visual Basic
Alternativ csharp_style_unused_value_assignment_preference
visual_basic_style_unused_value_assignment_preference

Översikt

Den här regeln flaggar onödiga värdetilldelningar. Till exempel:

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

Du kan vidta någon av följande åtgärder för att åtgärda den här överträdelsen:

  • Om uttrycket till höger om tilldelningen inte har några biverkningar tar du bort uttrycket eller hela tilldelningsinstruktiviteten. Detta förbättrar prestandan genom att undvika onödig beräkning.

    int v = Compute2();
    
  • Om uttrycket till höger om tilldelningen har biverkningar ersätter du den vänstra sidan av tilldelningen med en ignorerad (endast C#) eller en lokal variabel som aldrig används. Ignorera förbättrar kodens tydlighet genom att uttryckligen visa avsikten att ignorera ett oanvänt värde.

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

Alternativ

Alternativen för detta anger om du vill använda en ignorerad eller en oanvänd lokal variabel:

Information om hur du konfigurerar alternativ finns i Alternativformat.

csharp_style_unused_value_assignment_preference

Property Värde beskrivning
Alternativnamn csharp_style_unused_value_assignment_preference
Tillämpliga språk C#
Alternativvärden discard_variable Föredrar att använda en ignorera när du tilldelar ett värde som inte används
unused_local_variable Föredrar att använda en lokal variabel när du tilldelar ett värde som inte används
Standardalternativvärde 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

Property Värde beskrivning
Alternativnamn visual_basic_style_unused_value_assignment_preference
Tillämpliga språk Visual Basic
Alternativvärden unused_local_variable Föredrar att använda en lokal variabel när du tilldelar ett värde som inte används
Standardalternativvärde unused_local_variable
' visual_basic_style_unused_value_assignment_preference = unused_local_variable
Dim unused = Computation()

Ignorera en varning

Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och återaktiverar sedan regeln.

#pragma warning disable IDE0059
// The code that's violating the rule is on this line.
#pragma warning restore IDE0059

Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none i konfigurationsfilen.

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

Om du vill inaktivera alla regler i kodformat anger du allvarlighetsgraden för kategorin Style till i konfigurationsfilen.none

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

Mer information finns i Så här utelämnar du kodanalysvarningar.

Property Värde
Regel-ID IDE0059
Title Värdet används inte
Kategori Format
Tillämpliga språk F#
Alternativ Ingen

Översikt

Den här regeln flaggar onödiga värdetilldelningar. Används till exempel answer inte i följande kodfragment:

type T() =
    let answer = 42

Se även