Générer des substitutions des méthodes Equals et GetHashCode dans Visual StudioGenerate Equals and GetHashCode method overrides in Visual Studio

Cette génération de code s’applique à :This code generation applies to:

  • C#C#

Quoi : vous permet de générer les méthodes Equals et GetHashCode.What: Lets you generate Equals and GetHashCode methods.

Quand : générez ces substitutions quand vous disposez d’un type qui doit être comparé selon un ou plusieurs champs et non selon l’emplacement de l’objet en mémoire.When: Generate these overrides when you have a type that should be compared by one or more fields, instead of by object location in memory.

Pourquoi :Why:

  • si vous implémentez un type de valeur, vous pouvez substituer la méthode Equals afin d’améliorer les performances par rapport à l’implémentation par défaut de la méthode Equals sur ValueType.If you are implementing a value type, you should consider overriding the Equals method to gain increased performance over the default implementation of the Equals method on ValueType.

  • Si vous implémentez un type de référence, vous pouvez substituer la méthode Equals si votre type ressemble à un type de base, par exemple Point, String, BigNumber, etc.If you are implementing a reference type, you should consider overriding the Equals method if your type looks like a base type, such as Point, String, BigNumber, and so on.

  • Substituez la méthode GetHashCode pour permettre à un type de fonctionner correctement dans une table de hachage.Override the GetHashCode method to allow a type to work correctly in a hash table. Consultez la section sur les opérateurs d’égalité.Read more guidance on equality operators.

ProcédureHow-to

  1. Placez votre curseur dans votre déclaration de type.Place your cursor in your type declaration.

    Code mis en surbrillance

  2. Effectuez ensuite l'une des opérations suivantes :Next, do one of the following:

    • ClavierKeyboard
      • Appuyez sur Ctrl+.Press Ctrl+. pour afficher le menu Actions rapides et refactorisations.to trigger the Quick Actions and Refactorings menu.
    • SourisMouse
      • Cliquez avec le bouton droit et sélectionnez le menu Actions rapides et refactorisations.Right-click and select the Quick Actions and Refactorings menu.
      • Cliquez sur le boutonClick the Ampoule qui apparaît dans la marge de gauche si le curseur de texte se trouve déjà sur la ligne avec la déclaration de type.icon which appears in the left margin if the text cursor is already on the line with the type declaration.

    Générer un aperçu des substitutions

  3. Sélectionnez Générer Equals(object) ou Générer Equals et GetHashCode dans le menu déroulant.Select Generate Equals(object) or Generate Equals and GetHashCode from the drop-down menu.

  4. Dans la boîte de dialogue Choisir les membres, sélectionnez les membres pour lesquels vous souhaitez générer des méthodes :In the Pick members dialog box, select the members you want to generate the methods for:

    Boîte de dialogue Générer les substitutions

    Conseil

    Vous pouvez également choisir de générer des opérateurs à partir de cette boîte de dialogue en utilisant les cases à cocher situées sous la liste des membres.You can also choose to generate operators from this dialog by using the checkboxes underneath the members list.

    Les substitutions Equals et GetHashCode sont générées avec des implémentations par défaut.The Equals and GetHashCode overrides are generated with default implementations.

    Résultat de l’action Générer une méthode

Voir aussiSee also