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:
- C# – csharp_style_unused_value_assignment_preference
- Visual Basic – visual_basic_style_unused_value_assignment_preference
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