Flattening Nested Collections in C#
In this article, we'll explore flattening nested collections in C#. We'll examine different approaches for handling from simple to complex data structures, offering practical guidance to effectively flatten nested collections within our C# applications. [sc...
How to Properly Set Connection Strings in ASP.NET Core
In this article, we will delve into connection strings providing insights into their functionality, and best practices for safeguarding sensitive data. [sc name="github"...
Find Differences Between Collections With the LINQ Except Method in C#
When working with collections in C#, we sometimes need to manipulate them by performing operations such as comparisons, mergers, or finding set differences between them. The LINQ Except method comes in handy when we want to find the set difference between two...
Differences Between Span and Memory in C#
In this article, we'll briefly explain the Span and Memory .NET types and mention their primary usage. Furthermore, we will explore the differences between Span and Memory in C# in depth and conclude with some general tips on when to use one type over another. [sc...
Adding a Custom Header Parameter to All API Endpoints in Swagger
Within the .NET ecosystem, Swagger stands out as an essential tool, enabling developers to produce interactive and comprehensive API documentation. Header parameters play a crucial role in carrying important metadata in HTTP requests. Specifically, this metadata...
Weak Events in C#
We use weak events in C# to avoid memory leaks in event-based applications. Let's learn more about weak events, why they're needed, and how to implement them. [sc name="github"...
Retrying Failed HttpClient Requests in .NET Using Polly
In this article, we will explore the different approaches to retrying failed HttpClient requests using Polly. We will also discuss the advantages and disadvantages of each retry strategy, from simplest to most sophisticated. [sc name="github"...
How to Use the LINQ ToDictionary Method in C#
In this article, let's describe how to use the LINQ ToDictionary() method in C#. We will start by defining this method and how it works. Then, we will proceed to show several ways of invoking it. Ultimately, we will discuss different situations where we can utilize...
How to Serialize a PascalCase JSON.NET JObject to camelCase
In this article, we’re going to learn how to serialize a PascalCase JObject to a camelCase format. We will do this in two ways by using the most familiar JSON library in the .NET ecosystem which is Newtonsoft.Json. [sc name="github"...
Bouncy Castle Cryptography Library for .NET
Cryptography remains an ever-important topic in building modern security-minded applications. Bouncy Castle is a cryptography library for .NET that allows users to build robust cryptography features. In this article, we will cover just a few important capabilities...
Comparing ExecuteAsync() and StartAsync() Methods from the BackgroundService Class in .NET
Due to the emerging significance of running background tasks, .NET Core has given us new ways of achieving it. BackgroundService is another tool in our toolbox with methods ExecuteAsync() and StartAsync() being the central components. In this article, we will compare...
How to Mock IConfiguration.GetValue in ASP.NET Core
In this article, we'll take a closer look at how we can mock IConfiguration.GetValue when writing unit tests in ASP.NET Core. Let's start!...
Embedded Resources in .NET
We've covered resources in a couple of our previous articles. In Localization in ASP.NET Core, we delved into .NET localization, touching upon resources since XML files utilized for localization fall under .NET resources. We also discussed resources in our article,...
How to Print a 2D Array to the Console in C#
In this article, we will learn how to print a 2D array to the console using C#. Whether we are handling complex data structures or simply organizing information efficiently, understanding how to manipulate 2D arrays is a valuable skill. [sc name="github"...
Getting Started With EasyCaching in ASP.NET Core
EasyCaching is an open-source caching library that helps us manage caching more easily, and flexibly and it's an alternative to ASP.NET Core's out-of-the-box caching library. Caching is a prevalent and useful technique for improving the performance of web...
How to Set the Exit Code for a Console Application in .NET
In this article, we will learn how to set the exit code for a console application in .NET. Let's dive in. What Are Exit Codes Exit codes are...
Lookup in C#
When we build our .NET applications, we commonly use dictionaries to store data as key-value pairs. However, dictionaries do not allow us to map multiple values to a single key. In this article, let's explore the Lookup class in C# and discuss how we can use it to...
Modular Monolith Architecture In .NET
In this article, we will discuss the concept of Modular Monolith Applications, and how they compare with traditional Monoliths and Microservices. We will also explain the different communication patterns we can implement between our modules. [sc name="github"...
Fastest Ways to Perform Base 10 Conversions in C#
Performing base 10 conversions is fundamental when learning basic computer science and mathematical concepts. Since we know computer systems understand binary, such conversions can help us form different number representations that we can use for various applications...
How to Compare Two Dictionaries in C#
In this article, we will first explore several ways to compare two dictionaries in C#. Then, we will compare and rank the performance of these approaches using the BenchmarkDotNet library. When we work with Dictionary objects in C#, checking their equality is a common...
Using Delegating Handlers to Extend HttpClient in ASP.NET Core
In this article, we'll explore HttpClient's delegating handlers in ASP.NET Core. These handlers act as a middleware...