Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
| Propriété | Valeur |
|---|---|
| Identificateur de la règle | IDE0070 |
| Titre | Utiliser System.HashCode.Combine |
| Catégorie | Style |
| sous-catégorie | Règles de langage (préférences au niveau de l’expression) |
| langues applicables | C# et Visual Basic |
| Options | dotnet_prefer_system_hash_code |
Aperçu
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
Les options spécifient le comportement que vous souhaitez que la règle impose. Pour plus d’informations sur la configuration des options, consultez le format d’option.
dotnet_prefer_system_hash_code
| Propriété | Valeur | Description |
|---|---|---|
| Nom de l’option | dotnet_prefer_system_hash_code | |
| Valeurs d’option | true |
Préférez utiliser System.HashCode.Combine pour le calcul du code de hachage. |
false |
Ne préférez pas utiliser System.HashCode.Combine pour le calcul du code de hachage. |
|
| Valeur d’option par défaut | true |
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 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 IDE0070
// The code that's violating the rule is on this line.
#pragma warning restore IDE0070
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.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 d’analyse du code.