Partager via


Utiliser « System.HashCode.Combine » (IDE0070)

Propriété Value
Identificateur de la règle IDE0070
Titre Utilisez System.HashCode.Combine.
Catégorie Style
Sous-catégorie Règles de langage (préférences au niveau de l’expression)
Langages applicables C# et Visual Basic

Vue d’ensemble

Cette règle recommande l’utilisation de la méthode System.HashCode.Combine pour calculer un code de hachage au lieu d’utiliser une logique de calcul de code de hachage personnalisée.

Options

Cette règle n’a pas d’option de style de code associée.

Exemple

class B
{
    public override int GetHashCode() => 0;
}

class C : B
{
    int j;

    // Code with violations
    public override int GetHashCode()
    {
        // IDE0070: GetHashCode can be simplified.
        var hashCode = 339610899;
        hashCode = hashCode * -1521134295 + base.GetHashCode();
        hashCode = hashCode * -1521134295 + j.GetHashCode();
        return hashCode;
    }

    // Fixed code
    public override int GetHashCode()
    {
        return System.HashCode.Combine(base.GetHashCode(), j);
    }
}

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 IDE0070
// The code that's violating the rule is on this line.
#pragma warning restore IDE0070

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.IDE0070.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.

Voir aussi