Generate IEquatable operators when generating Equals for structs

Applies to: yesVisual Studio noVisual Studio for Mac noVisual Studio Code

This code generation applies to:

  • C#

What: Lets you generate Equals and IEquatable operators for structs.

When: You have a struct we will automatically add the IEquatable as well as the equals and not equals operators for you.


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

  • Implement IEquatable interface implements a type-specific Equals() method.


  1. Place your cursor somewhere on the line of your struct declaration.

  2. Next, do one of the following:

    • Press Ctrl+. to trigger the Quick Actions and Refactorings menu.

    • Right-click and select the Quick Actions and Refactorings menu.

    • Click the screwdriver icon that appears in the left margin.

    Generate IEquatable and Equals for structs

  3. Select Generate Equals(object) from the drop-down menu.

See also