Category Archives: C#

C# – Transient vs. Scoped vs. Singleton

By | 12/11/2025

In this post, we’ll see the three main service lifetimes in .NET: Transient, Scoped, and Singleton. We’ll also touch on the concept of Dependency Injection (DI) and provide C# code examples to illustrate how each lifetime works. WHAT IS DEPENDENCY INJECTION?Dependency Injection is a design pattern that allows us to remove hard-coded dependencies and make… Read More »

C# – Reflection

By | 20/11/2024

In this post, we will see what Reflection is and how use it in our programs.But first of all, what is Reflection?“Reflection is part of the System.Reflection namespace in C# that enables us to analyse assemblies and types, create instances dynamically, access properties and fields, invoke methods, and even discover custom attributes. Through reflection, we… Read More »

Category: C# Tags:

C# – Management of a SQLite database

By | 06/11/2024

In this post, we will see how to create and manage a SQLite database using C#. We will create a minimal API to use the database, implement a repository pattern to abstract database operations and finally, we will write unit tests to verify our code.The SQLite database we will use is named TestDb and it… Read More »

Category: C# Tags:

C# – Concurrent collections

By | 06/03/2024

In this post, we will see some concurrent collections that we could use in our multi-threaded application where, managing shared data between threads, can introduce complexity and potential error such as race conditions or deadlocks. .NET addresses these cases with its concurrent collections, found in the System.Collections.Concurrent namespace. These collections are designed to be thread-safe… Read More »

C# – Serilog

By | 24/01/2024

In this post, we will see how to use Serilog in our .net applications.But first of all, what is Serilog?Serilog is a diagnostic logging library for .NET applications. It is designed to be easy to configure and extend, offering a rich set of sinks (outputs) and enrichers. One of the key features of Serilog is… Read More »

Category: C# Tags:

C# – Span

By | 09/08/2023

In this post, we will see what is Span<T> in C# and how we can use it to improve performance.But first of all, what is a Span<T>?From Microsoft web site:“System.Span<T> is a new value type at the heart of .NET. It enables the representation of contiguous regions of arbitrary memory, regardless of whether that memory… Read More »

Category: C# Tags:

C# – Dapper vs EF for CRUD operations

By | 12/07/2023

In many articles and websites, there are many examples of how Dapper is faster than EF to select data in a database.In this post instead, I want to check if Dapper is faster than EF for some CRUD operations like Insert, Update and Delete.I have this curiosity because I have seen that there is an… Read More »

Category: C# Tags: