Why is Equality important in .NET?

Saturday, March 03 2018 equality dotnet

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 dotnet

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 csharp

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 dotnet

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 »

Sharpen The Saw #31

Monday, March 26 2018 sharpen-the-saw

In this issue from September 2017: Techniques for your next public speech; creating great slides; Fira Code should be your next coding font; Rob Connery opines on diversity; Jon Skeet also has diversity requirements; fix a Git vulnerability; Update Visual Studio 2017 now; 10 presentation antipatterns; and how to get started with public speaking.

Read more »

Implementing Entity Equality

Saturday, March 31 2018 equality dotnet

Now that we’ve talked about the importance of implementing equality, the different kinds of equality, and about the contracts required of our implementations, we can get down to actually writing some code.

Read more »

Archive for 2018
January 2018 8
February 2018 6
March 2018 6
April 2018 8
May 2018 5
June 2018 5
All Years
2018 38
2017 61
2016 40
2015 30
2014 14
2013 19
2012 25
2011 47
2010 56
2009 78
2008 89
2007 2
2006 5
2005 3
2004 13
2003 5