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 :

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

Voir aussi