The Role of the System.Object’s Equals Instance Method

Defined on System.Object, the “mother type of all types,” the Equals instance method is used to compare whether two objects are “equal,” whatever that means for the types of the target object and the one being compared:

class Object{    ...    public virtual bool Equals(object obj) { /* default implementation */ }}

As you learn in Chapter 14, “Object-Oriented Programming,” virtual methods can be overridden by deriving types. It’s typical for types to do so for System.Object’s virtual methods, which include Equals, GetHashCode, and ToString. Before we get into overriding the Equals method, let’s discuss its default behavior.

For reference types, the default

Get C# 5.0 Unleashed now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.