Why is Equality important in .NET?

Saturday, March 03 2018 equality

You can get by without consideration of equality in .NET projects for quite some time without having too many problems. Eventually, however, the time comes when you have to dig into those odd problems and fix things properly.

Read more »

Types of Equality

Saturday, March 10 2018 equality

Having established the importance of equality in .NET, we can look at the different kinds of equality that you might encounter. There are three - Reference, Value and Entity equality.

Read more »

Equality has Symmetry

Saturday, March 17 2018 equality

If we’re going to implement equality correctly, we need to consider the contract we’re implementing - what are the characteristics of a proper implementation of equality? The first characteristic we need to consider is symmetry.

Read more »

Equality and GetHashCode

Saturday, March 24 2018 equality

After symmetry, another aspect of the equality contract is .GetHashCode(). When you first override .Equals(object), the C# compiler will helpfully remind you that you must also override .GetHashCode().

Read more »