IEquatable and All That: The Nine Comparisons Interfaces

In my last article I pointed out that Microsoft has given us no less than nine different general-purpose interfaces to perform the simple task of comparing objects to see if they are equal, or if one is greater than the other.

And I ended with a quick quiz. Could you identify those nine interfaces?

Continue reading “IEquatable and All That: The Nine Comparisons Interfaces”

C# Equality and Comparisons Published

My new Pluralsight course, C# Equality and Comparisons, has been published this week, bringing my total to 3 courses  with the two existing courses. Math for Programmers and C# Collections Fundamentals.

C# Equality and Comparisons was largely spawned out of the earlier C# Collections course:  Back in February this year, I was writing samples for that course to demonstrate making dictionaries case-insensitive. The easiest way to do that is to supply a case-insensitive equality comparer to the dictionary constructor, like this: Continue reading “C# Equality and Comparisons Published”

AutoProperties, Structs and Constructors (C# Wishes Part 3)

I’m sure most of us have been there. You have some small data type to declare, which only really contains a couple of primitives and is clearly most appropriate to exist as a struct. You put a couple of values in it, and because you’re doing this quickly and you want your code to be simple, you use auto properties. For this kind of struct there’s (hopefully) no reason not to.

And in the best traditions of those cookery programmes you see on tv, here’s one that I prepared earlier: Continue reading “AutoProperties, Structs and Constructors (C# Wishes Part 3)”

The Nullable Dot (Post-Xmas C# Wishes, Part 1)

Well Christmas, that traditional time for giving has just gone past. However the TechieSimon blog has nothing to give, apart from strange blog posts. So I thought I’d be cheeky instead. To somewhat belatedly celebrate the time of giving I’m going to do some (metaphorical) asking: For the next few blog posts I’ll talk about some of the things that I’d love Microsoft to add to the C# Language.

My first wish is for a nullable dot operator. Continue reading “The Nullable Dot (Post-Xmas C# Wishes, Part 1)”