Partage via


Supprimer l’affectation de valeur inutile (IDE0059)

Propriété Valeur
Identificateur de la règle IDE0059
Titre Supprimer l’affectation de valeur inutile
Catégorie Style
sous-catégorie Règles de code inutiles (préférences au niveau de l’expression)
langues applicables C# et Visual Basic
Options csharp_style_unused_value_assignment_preference
visual_basic_style_unused_value_assignment_preference

Aperçu

Cette règle signale les affectations de valeurs 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 du côté droit de l’assignation n’a aucun effet secondaire, supprimez l’expression ou toute l’instruction d’assignation. Cela améliore les performances en évitant les calculs inutiles.

    int v = Compute2();
    
  • Si l’expression du côté droit de l’assignation a des effets secondaires, remplacez le côté gauche de l’assignation par un élément ignoré (C# uniquement) ou par une variable locale qui n’est jamais utilisée. Les éléments ignorés améliorent la clarté du code en affichant explicitement l’intention d’ignorer une valeur inutilisée.

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

Options

Les options à cette fin spécifient s’il faut préférer l’utilisation d’un élément ignoré ou d’une variable locale inutilisée :

Pour plus d’informations sur la configuration des options, consultez Option format.

csharp_style_unused_value_assignment_preference

Propriété Valeur Description
nom de l’option csharp_style_unused_value_assignment_preference
langues applicables C#
Valeurs d’option discard_variable Préférer l’utilisation d’un éléments ignoré au moment d’assigner une valeur inutilisée
unused_local_variable Préférer utiliser une variable locale lors de l’affectation d’une valeur qui n’est pas utilisé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 de l’option visual_basic_style_unused_value_assignment_preference
langues applicables Visual Basic
Valeurs d’option unused_local_variable Préférer utiliser une variable locale lors de l’affectation d’une valeur qui n’est pas utilisé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 souhaitez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver, puis réactivez 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 d’un fichier, d’un dossier ou d’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 d’analyse du code.

Propriété Valeur
Identificateur de la règle IDE0059
Titre La valeur n’est pas utilisée
Catégorie Style
langues applicables F#
Options Aucun

Aperçu

Cette règle signale les affectations de valeurs inutiles. Par exemple, answer n’est pas utilisé dans l’extrait de code suivant :

type T() =
    let answer = 42

Voir aussi