If you are working with a class, then yes, this is necessary.
With reference types (classes), .NET provides an equality comparison by default, which compares the link itself, not the values inside the class. If you want to compare field by field, you must redefine equals.
structs ( ) .
:
Equals . , , . , .