using System.Collections.Generic;
public class OverrideEqualsReturnsFalse
public override bool Equals(object obj)
public class ImplementsIEquatableReturnsFalse : IEquatable<ImplementsIEquatableReturnsFalse>
public override bool Equals(object obj)
public bool Equals(ImplementsIEquatableReturnsFalse other)
public static void Main()
var one1 = new OverrideEqualsReturnsFalse();
Console.WriteLine(one1.Equals(two1));
var one2 = new ImplementsIEquatableReturnsFalse();
Console.WriteLine(one2.Equals(two2));
Console.WriteLine(EqualityComparer<ImplementsIEquatableReturnsFalse>.Default.Equals(one2, two2));