With the Roslyn update, this was the first time that C# received minor versions instead of only major ones. Roslyn helped the designers of the language to move in different leaps and provide more stuff in shorter time with minor versions.
In this article we will be discussing about a feature introduced in C# 7.2, the readonly structs
Continue reading C# 7.2 – Let’s talk about readonly structs
So far we have talked about how quite a few new features of C# 8. We have talked about how C# 8 fixing interpolated verbatim strings (here), we have talked about the languages new Index Struct and the usage of the Hat operator (here) and we have talked about default interface methods (here). In this article we will talk about another feature that some people might call small and minor, but still very very useful as it can clean up code and remove lots of noise.
Continue reading C# 8 – Introducing Target-typed new expressions
Quite often in our architectural designs we tend to use DTOs. If you have never heard of a DTO it basically stands for Data Transfer Object. It is meant to describe a class with no bussiness logic whatsoever included in it. Only to hold different types of data and pass it around. In many cases these DTOs only include readonly properties and fields internally. Very often, writing the code for these classes feels like writing a lot of boilerplate code.
Well here is where C# 8.x is coming to simplify the process of creating these classes by introducing Records.
Continue reading C# 8.x is introducing Records
We have been talking about C# 8 a lot lately. We have talked about how interpolated verbatim strings are being simplified (here), how default interface methods are being introduced (here) and we have many many more features to discuss about as C# 8 is introducing a lot of new and useful stuff.
For today we are going to talk about the Hat Operator. So far the Hat Operator (^) has been used as XOR operator for boolean types and bitwise XOR operator byte/integral types.
In C# 8 it will have a new usage.
Continue reading C# 8 – Introducing Index struct and a brand new usage for the hat operator
Ever since string interpolation has been added as a feature in C# there was a minor nuissance that was bugging me quite a bit. If you were using String interpolation on a verbatim string you had to put the symbols in a specific order or else it would not work.
Continue reading C# 8 is fixing interpolated verbatim strings
So, some of you may not know about this keyword at all, but at one point in your life you may find out and feel that it will be useful to use it when you are doing mathematical operations in your code. Let’s start by discussing what this keyword provides.
According to Microsoft documentation, the checked keyword is provided to explicitly enable arithmetic overflow for integer mathematical operations.
In the past we have discussed how arithmetic overflows can cause problems and unexpected outcomes from our code. A prime example we mentioned is why Ghandi was a nuclear asshole in Civilization
Continue reading C# – Why you should never use the checked keyword – Unless absolutely necessary
C# 8 release date is coming closer and closer so it’s about time we start reviewing the different proposed features so we can understand what is coming and utilize it as best as possible.
Continue reading C# 8: Default Interface Methods
Starting this thread I assume everybody knows what inheritance is in Object Oriented programming and what benefits it can provide. I will not delve into the basics of objet inheritance. This post rather is focused more on multiple inheritance and the problems it faces.
Continue reading Multiple Inheritance and the diamond problem
Concurrent collections are a feature added in .Net 4.0 and allow developers to create thread safe collections without worrying as much as they had to worry with Generic Collections.
They do not remove any possible concern the developer should have while working with resources that are accessed from multiple threads, but removes many of the common ones.
Continue reading C# Multithreaded Resource access – Concurrent Collections
C# provides us many ways to safely handle shared resources from than one threads/tasks. In this blog post we will discuss some of the different types that exist (and they are many), the different programming patterns they are used for, their benefits and their drawbacks.
Continue reading C# Multithreaded Resource Access – Locks, Monitors and Mutex