State Pattern

The state design pattern is one of the patterns from the Gang of Four design patterns. It is a behavioral design pattern. The primary intent of the state pattern is to allow an object to alter its behavior when its internal state is changed. In your day-to-day implementation, you may be encountering the state pattern … Read more

Proxy Pattern

Hello everyone, and welcome to .NET Core Central. In this blog post, I will walk through the proxy design pattern. The proxy design pattern is one of the design patterns from the Gang of Four design patterns. And the proxy design pattern is probably one of the simplest and easiest to understand and implement design patterns … Read more

Async and Await in C#

In this blog post, I am going to walk through Async and Await feature of C#. The async and await keywords were introduced in C# and it is part of the TAP or Task Asynchronous Programming model. Pre async and await, if we want to write asynchronous code we will either use a Thread class … Read more

Deep dive into Default Interface methods in C# 8

In this blog, I am going to deep dive into Default Interface Methods in C# 8. This was released along with .Net Core 3.0 in September 2019. I have covered this topic briefly previously in my blog https://dotnetcorecentral.com/blog/c-8-my-top-5-favorite-features-which-i-absolutely-love/. But at that time I was not sure of the potential of this feature. Now, after going … Read more

Pattern matching in C#

We are using pattern matching in C# since the very beginning of C# through a combination of If/Else and Switch/Case statements. Pattern Matching is when we check an object’s member variable or property to have a full or partial match to a sequence. But these forms of pattern matching is very limited. Functional programming languages … Read more

Nullable reference types in C# 8

Nullable reference types is the default behavior of reference types in C# 7.3 and below versions. Well, what do I mean by that? When we declare reference types, pre-C# 8, it’s always nullable, meaning it can be assigned a null value. Hence we need to check it against null to avoid NullReferenceException. The newly introduced … Read more

Asynchronous Streams in C# 8/.Net Core 3.0

Asynchronous Streams is a new feature which is recently added to C# language in .NET Conference as a part of C# 8. This is one of the features C# 8 introduced, that I am very excited about. I introduced this feature when I discussed my top 5 features of C#8/.Net Core 3.0 in my previous … Read more

Top 5 new features of C# 8 (My take)

C# 8 was recently released with .Net Core 3.0. These two were released simultaneously in .Net Conf 2019. There are a lot of new features are released as a part of C# 8. Some of them are very interesting. Whereas some not so. C# 8 Top 5 Features Below are the 5 features, which stands … Read more