Overbodige waardetoewijzing verwijderen (IDE0059)
Eigenschappen | Weergegeven als |
---|---|
Regel-id | IDE0059 |
Titel | Onnodige waardetoewijzing verwijderen |
Categorie | Stijl |
Subcategorie | Overbodige coderegels (voorkeuren op expressieniveau) |
Toepasselijke talen | C# en Visual Basic |
Opties | csharp_style_unused_value_assignment_preference |
visual_basic_style_unused_value_assignment_preference |
Overzicht
Deze regel markeert onnodige waardetoewijzingen. Voorbeeld:
// IDE0059: value written to 'v' is never
// read, so assignment to 'v' is unnecessary.
int v = Compute();
v = Compute2();
U kunt een van de volgende acties uitvoeren om deze schending op te lossen:
Als de expressie aan de rechterkant van de toewijzing geen neveneffecten heeft, verwijdert u de expressie of de hele toewijzingsinstructie. Dit verbetert de prestaties door onnodige berekeningen te voorkomen.
int v = Compute2();
Als de expressie aan de rechterkant van de toewijzing bijwerkingen heeft, vervangt u de linkerkant van de opdracht door een verwijdering (alleen C#) of een lokale variabele die nooit wordt gebruikt. Hiermee wordt de codehelderheid verbeterd door expliciet de intentie weer te geven om een ongebruikte waarde te verwijderen.
_ = Compute(); int v = Compute2();
Opties
De opties voor deze opgeven of u de voorkeur geeft aan het gebruik van een verwijdering of een ongebruikte lokale variabele:
- C# - csharp_style_unused_value_assignment_preference
- Visual Basic - visual_basic_style_unused_value_assignment_preference
Zie Optieindeling voor meer informatie over het configureren van opties.
csharp_style_unused_value_assignment_preference
Eigenschappen | Weergegeven als | Beschrijving |
---|---|---|
Optienaam | csharp_style_unused_value_assignment_preference | |
Toepasselijke talen | C# | |
Optiewaarden | discard_variable |
Gebruik liever een verwijdering bij het toewijzen van een waarde die niet wordt gebruikt |
unused_local_variable |
Gebruik liever een lokale variabele bij het toewijzen van een waarde die niet wordt gebruikt | |
Standaardoptiewaarde | 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
Eigenschappen | Weergegeven als | Beschrijving |
---|---|---|
Optienaam | visual_basic_style_unused_value_assignment_preference | |
Toepasselijke talen | Visual Basic | |
Optiewaarden | unused_local_variable |
Gebruik liever een lokale variabele bij het toewijzen van een waarde die niet wordt gebruikt |
Standaardoptiewaarde | unused_local_variable |
' visual_basic_style_unused_value_assignment_preference = unused_local_variable
Dim unused = Computation()
Een waarschuwing onderdrukken
Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.
#pragma warning disable IDE0059
// The code that's violating the rule is on this line.
#pragma warning restore IDE0059
Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst none
ervan in op het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.IDE0059.severity = none
Als u alle regels voor codestijl wilt uitschakelen, stelt u de ernst voor de categorie Style
none
in op in het configuratiebestand.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Zie Codeanalysewaarschuwingen onderdrukken voor meer informatie.
Eigenschappen | Weergegeven als |
---|---|
Regel-id | IDE0059 |
Titel | De waarde wordt niet gebruikt |
Categorie | Stijl |
Toepasselijke talen | F# |
Opties | Geen |
Overzicht
Deze regel markeert onnodige waardetoewijzingen. Is bijvoorbeeld answer
niet gebruikt in het volgende fragment:
type T() =
let answer = 42