Welcome to Kaywan's blog
Monday, Jul 7, 2022 by Kaywan Salimi
Working with string data types has been improving gradually in different versions of C#. At first glance, they may seem like small changes though they help us in the way that how to deal with strings subtly and usefully. Verbatim string(`@`) and string interpolation (`$`) are a few of those facilities that C# offers during these years. Along those lines, in this short blog, we're going to look over the raw string literal in C# 11.
Monday, October 25, 2021 by Kaywan Salimi
Going over Span<T>, teaches us how we can have a higher performance without memory allocation code and how it is a better alternative to the Substring API. Span<T> reduces the load on GC by minimizing managed memory allocations. Span<T> has some restriction of usages, to overcome them Memory<T> has briefly introduced.
Friday, June 25, 2021 by Kaywan Salimi
Inversion of control at first glance may seem an obscure term though when you define it in simple sentences, you would realize how much it is understandable and can bring advantages to your application. In this post, I tried explaining it as simple as and as understandable as possible for junior developers.
Tuesday, May 4, 2021 by Kaywan Salimi
In this article I tried to make DI as simple and as understandable as possible not only for juniors but also for those who feel uncomfortable with dependency injection.
Saturday, March 13, 2021 by Kaywan Salimi
Have you ever thought about generic lists under the hood? Do you know what's happening when a generic list is created? How about the internal array of generic lists? Or how do you use them efficiently? In this article, you can find answers and even more.
Monday, February 1, 2021 by Kaywan Salimi
In this part, we go over the Monitor class and its best practices, also a consumer-producer problem is implemented by the Monitor capabilities.
Friday, January 1, 2021 by Kaywan Salimi
Working through enterprise applications has various challenges, among them, multi-threading stands out. Nowadays, all applications tend to use all capabilities of modern hardware, especially CPUs in our case. Performing several jobs simultaneously...