Supprimer l’attribution de valeur inutile (IDE0059)
Propriété | Value |
---|---|
Identificateur de la règle | IDE0059 |
Titre | Supprimer une attribution de valeur inutile |
Catégorie | Style |
Sous-catégorie | Règles de code inutiles (préférences relatives au niveau de l’expression) |
Langages applicables | C# et Visual Basic |
Options | csharp_style_unused_value_assignment_preference |
visual_basic_style_unused_value_assignment_preference |
Vue d’ensemble
Cette règle signale les attributions de valeur inutiles. Par exemple :
// IDE0059: value written to 'v' is never
// read, so assignment to 'v' is unnecessary.
int v = Compute();
v = Compute2();
Vous pouvez effectuer l’une des actions suivantes pour corriger cette violation :
Si l’expression à droite de l’attribution n’a aucun effet secondaire, supprimez l’expression ou l’instruction d’attribution en entier. Cela améliore les performances en évitant les calculs inutiles.
int v = Compute2();
Si l’expression à droite de l’attribution a des effets secondaires, remplacez le côté gauche de l’attribution par un discard (C# uniquement) ou une variable locale qui n’est jamais utilisée. Les rejets améliorent la clarté du code en montrant explicitement l’intention de rejeter une valeur inutilisée.
_ = Compute(); int v = Compute2();
Options
Les options de cette règle spécifient s’il faut préférer l’utilisation d’un discard ou d’une variable locale inutilisée :
- C# : csharp_style_unused_value_assignment_preference
- Visual Basic : visual_basic_style_unused_value_assignment_preference
Pour plus d’informations sur la configuration des options, consultez Format d’option.
csharp_style_unused_value_assignment_preference
Propriété | Valeur | Description |
---|---|---|
Nom d'option | csharp_style_unused_value_assignment_preference | |
Langages applicables | C# | |
Valeurs d’option | discard_variable |
Préférer l’utilisation d’un discard pour attribuer une valeur inutilisée |
unused_local_variable |
Préférer l’utilisation d’une variable locale pour attribuer une valeur inutilisée | |
Valeur d’option par défaut | 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
Propriété | Valeur | Description |
---|---|---|
Nom d'option | visual_basic_style_unused_value_assignment_preference | |
Langages applicables | Visual Basic | |
Valeurs d’option | unused_local_variable |
Préférer l’utilisation d’une variable locale pour attribuer une valeur inutilisée |
Valeur d’option par défaut | unused_local_variable |
' visual_basic_style_unused_value_assignment_preference = unused_local_variable
Dim unused = Computation()
Supprimer un avertissement
Si vous voulez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver et réactiver la règle.
#pragma warning disable IDE0059
// The code that's violating the rule is on this line.
#pragma warning restore IDE0059
Pour désactiver la règle sur un fichier, un dossier ou un projet, définissez sa gravité sur none
dans le fichier de configuration.
[*.{cs,vb}]
dotnet_diagnostic.IDE0059.severity = none
Pour désactiver toutes les règles de style de code, définissez la gravité de la catégorie Style
sur none
dans le fichier de configuration.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.
Propriété | Value |
---|---|
Identificateur de la règle | IDE0059 |
Titre | La valeur n’est pas utilisée |
Catégorie | Style |
Langages applicables | F# |
Options | Aucun |
Vue d’ensemble
Cette règle signale les attributions de valeur inutiles. Par exemple, answer
n’est pas utilisée dans l’extrait de code suivant :
type T() =
let answer = 42