Introduction Marker interfaces, also known as tagging interfaces, are interfaces that do not contain any method or property declarations. They are used to mark or tag a class so that the program can …
Do you know that List<T> accepts size parameter and its impact the performance? Yes, the size of a List<T> can impact performance, especially when adding elements to the list. When a List<T> reaches its cap…
Parallel Quick Sort in C# Quick Sort is a popular sorting algorithm that is commonly used due to its performance and simplicity. However, for large data sets, it can become slow as the sorting time increases. To speed up the so…
Create Compiler In C# Using ANTLR-Crash Course I’m excited to announce the release of my new book, “Create Compiler In C# Using ANTLR-Crash Course” on Amazon! This book is a step-by-step guide for beginners to learn how to crea…
In multi-threaded programming, there can be issues with the consistency and visibility of data between threads. The volatile keyword is used to indicate that a variable’s value might be modified by multiple threads simultaneously…
What is Chain of Responsibility Design pattern? The chain of responsibility pattern is a behavioral software design pattern that implements the Requestor/Handler architecture using a chain of handlers. Each handler can do its o…
JSON is a lightweight data-interchange format that’s easy for both humans and computers to read and write. It’s based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999. In this ar…
This blog post will show you how to await the foreach loop in C#. Onwards c#, we can use async foreach in our code. To use async foreach, your method must return IAsyncEnumerable<T>. Let’s understand it with one example…
In this blog post I will discuss about encryption and decryption in C#. There are a lot of algorithms for encryptiong and decrypting the data but here I am going to discuss about RSA encryption algorithm. By the end of this blo…