Understanding Equals() method - C#