Category: C#
C# DateTime Format In A Nutshell
May 16, 2025 7 minutes read This article covers C# DateTime Format, addressing both of its main aspects: Obtain a date-formatted string. Use a pattern like "yyyy-MM-dd HH:mm:ss" to extract and...
C# String Interpolation Explained
May 14, 2025 4 minutes read C# String Interpolation is a powerful feature that simplifies the syntax for embedding variables and expressions within strings to construct strings dynamically. String interpolation...
C# Pattern Matching Explained
May 13, 2025 7 minutes read Since the C# version 7, C# has support for pattern matching. C# pattern matching is here to simplify complex if-else statements into more...
WPF vs WinForms – Making the Right Decision in 2025
May 12, 2025 8 minutes read If you’re a developer faced with the decision of selecting between Windows Presentation Foundation (WPF) and Windows Forms (WinForms) commonly referred to as WPF...
Class vs Struct in C#: Making Informed Choices
May 11, 2025 9 minutes read In C# programming, choosing the right data type between classes and structs is a crucial decision that impacts application performance and design. Choosing Between Struct...
Improve C# code performance with Span<T>
March 24, 2025 9 minutes read Welcome to our deep dive into System.Span<T> and System.ReadOnlySpan<T>. Introduced in C# 7.2 (2017) and supported by the .NET Core runtime, these powerful structures...
C# Async/Await Explained: Complete Guide with Examples [2025]
March 20, 2025 9 minutes read In modern C# and .NET development, the introduction of async/await has been a game-changer. While synchronous execution works in many cases, it can cause...
C# Optional Parameters Explained
March 18, 2025 3 minutes read C# optional parameters enable methods, constructors, indexers and delegates to be called without specifying all arguments. This simplifies method calls and improves readability by...
.slnx The New .NET Solution XML File Format
March 17, 2025 3 minutes read On March 13th, 2025 Microsoft officially announced the a new .NET solution file format with file extension .slnx. For example for this simple solution:...
C# Array and List Fastest Loop in 2025
January 9, 2025 5 minutes read Discussions about the fastest way to loop through an array (T[]) and a List<T> in C# have been ongoing. Results can vary with each...
Visual Studio vs Visual Studio Code: The Ultimate Guide (2025)
January 8, 2025 8 minutes read In the world of .NET development, two popular tools stand out: Visual Studio and Visual Studio Code. Visual Studio is generally recognized as a...
The attribute OverloadResolutionPriority in .NET 9 and C# 13
December 12, 2024 2 minutes read With .NET 9, we gain a new tool for managing method overloads: OverloadResolutionPriorityAttribute declared in the namespace System.Runtime.CompilerServices. It lets you set an overload’s...
C# 13 params collections
December 3, 2024 3 minutes read Here is a quick post to explain how the upcoming C# 13 params collections feature frees your code from many allocations. C# params prior...
.NET 9.0 LINQ Performance Improvements
November 19, 2024 5 minutes read NET 9.0 brings significant improvements to LINQ performance, with some scenarios showing remarkable gains. Let’s take a closer look at what’s driving these enhancements....
Alternate Lookup for Dictionary and HashSet in .NET 9
November 18, 2024 3 minutes read In .NET 9, a new method called GetAlternateLookup<TKey, TValue, TAlternate>() has been introduced for hash tables classes, including Dictionary<TKey, TValue>, HashSet<T>, ConcurrentDictionary<TKey, TValue>, FrozenDictionary<TKey,...
Why Is Counting Lines of Code (LOC) Useful?
November 7, 2024 2 minutes read In the previous post How do you count your number of Lines Of Code (LOC) ?, we explained how to count the LOC of...
How do you count your number of Lines Of Code (LOC) ?
November 6, 2024 2 minutes read Counting Lines of Code (LOC) is not as straightforward as it seems. Developers often wonder: Should method signature declarations count? What about lines with...
The problem with frameworks
October 31, 2024 3 minutes read I just watched this short 2:39 video from Uncle Bob, and it rang a bell. His books inspired me two decades ago to create...
Find C# Code Duplicate
October 22, 2024 3 minutes read Duplicate code copy-pasted is problematic. It increases maintenance efforts and the risk of inconsistencies. Changes made in one instance may not be reflected in...
Fastest C# Enum to String
July 15, 2024 3 minutes read This article benchmarks various ways to obtain a string from an enumeration value in C# .NET, along with other common enumeration APIs. At NDepend,...
Readonly, Immutable, and Frozen Collections in .NET
July 1, 2024 4 minutes read In modern software development, immutability is a powerful concept. The .NET Base Class Library (BCL) offers readonly, immutable, and frozen collections. This terminology might...
When to create a new .csproj?
June 24, 2024 5 minutes read Recently, a question has been raised on Reddit/r/dotnet: When should you create a new .csproj? This is a crucial consideration for every .NET team....
Top 10 C# Recent Improvements
June 3, 2024 7 minutes read Over the years, in collaboration with the community, the C# team has introduced numerous impressive new syntax features. Some of these simplify coding and...
The .NET Generic Math Library
May 15, 2024 7 minutes read In November 2022 with the release of .NET 7, new math-related generic interfaces have been added to the .NET Base Class Library (BCL). This...
C# static abstract members
May 14, 2024 5 minutes read C# 11 proposed interface members declared as static abstract. This is useful to handle both: Polymorphism at the type level, for example when abstracting...
The .NET 7.0 IParsable<TSelf> interface
May 7, 2024 3 minutes read As I explained in the post C# 11 static abstract members, C# 11 let’s write static abstract members in an interface. This feature was...
C# Discriminated Union: What’s Driving the C# Community’s Inquiries?
May 6, 2024 6 minutes read In recent years, there has been a notable surge in inquiries from the C# community regarding language-level support for C# Discriminated Unions. What individuals...
Covariance and Contravariance in C# Explained
May 2, 2024 6 minutes read Introduction Covariance and contravariance allow more flexibility when dealing with C# class hierarchy. This article explains and demonstrates the concepts of Covariance and Contravariance...
Vertical Slice Architecture in ASP.NET Core
April 26, 2024 6 minutes read The organization of code in a solution is a subject of frequent debates. Currently, two prominent approaches have garnered attention: Clean Architecture versus Vertical...
C# 12 New Features
April 26, 2024 5 minutes read C# 12 along with .NET 8 has been officially released in November 2023. Let’s explore C# 12 New Features in this post. Primary Constructors...