Author: NDepend
Do you like reading our blog posts about advanced .NET and C# topics? If so, you'll enjoy the experience of analyzing your codebase with NDepend. Simply download the NDepend trial from https://www.ndepend.com/download, and in a few minutes from now, you'll gain a whole new perspective on your .NET code.
Visual Studio Next Version: What’s Coming and What to Expect
September 1, 2025 6 minutes read In mid-August 2025, Mads Kristensen, lead designer of the C# programming language, discussed with his team The Future of Visual Studio in a YouTube...
.NET Native AOT Explained
August 5, 2025 7 minutes read Within the realm of software development, optimizing performance and streamlining efficiency remain essential. The .NET platform has been innovating for 2 decades to provide...
C# ValueTuple Full Guide
July 28, 2025 9 minutes read C# 7.0 introduced ValueTuple in 2017, making it easier to work with lightweight data structures.Here’s an example using ValueTuple with the () syntax to...
Architecture of a .NET Application: 8 Case Studies
July 10, 2025 8 minutes read This recent question on Reddit’s Number of projects per solution led to interesting debates. The answer depends on the app’s size and domain. In...
Clean Architecture in ASP.NET Core
July 7, 2025 9 minutes read As applications scale, flexibility and maintainability become essential. .NET Core Clean Architecture provides a clear structure with minimal dependencies, making it a popular choice....
Understand Directory.Build.props: Centralizing .NET Project Configurations
July 3, 2025 4 minutes read In the world of .NET development, managing project configurations and properties efficiently can significantly streamline your development process. One powerful but often underappreciated feature...
C# DateTime Format In A Nutshell
June 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...
Vertical Slice Architecture in ASP.NET Core
June 10, 2025 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# Index and Range Operators Explained
May 24, 2025 3 minutes read In this post, we comprehensively demystify the C# index ^ and range .. operators. The index operator ^ Let’s start with the index ^...
Abstract Class vs Interface in C#
May 21, 2025 7 minutes read In C# object-oriented programming (OOP), understanding the difference between Abstract Class vs Interface is essential for designing flexible and maintainable code. Both abstract classes...
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...
.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:...
Understand NuGet Central Package Management and Transitive Pinning with Examples
January 16, 2025 4 minutes read Nowadays, .NET applications often rely on numerous NuGet packages, each of which may depend on additional packages. As a result, it’s common for multiple...
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 Semi-Auto Properties
December 4, 2024 2 minutes read C# 13 introduced an exciting feature to boost developer productivity and code clarity: semi-auto properties. This new feature solves the trade-off between the ease...
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...
C# 13 ref struct interfaces and the ‘allows ref struct’ generic anti-constraint
December 2, 2024 4 minutes read C# 13 will allow interfaces on ref struct. Until now, without this possibility ref struct missed out on abstraction. For example, while Span<T> acts...
.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,...
The Issue with using the Cobertura Code Coverage Format in .NET
November 14, 2024 1 minutes read Since December 2023, Microsoft has added support to Microsoft.CodeCoverage and dotnet-coverage for exporting code coverage data in the Cobertura format (see the announcement here). [crayon-6a271567458fb943724828/] Because...
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...
Reporting ReSharper Code Inspections from Your CI/CD Pipeline
October 11, 2024 4 minutes read JetBrains ReSharper is an awesome well-established tool now over two decades old! It offers hundreds of code inspections for C# and VB.NET. These inspections...
Faster Dictionary in C#
September 2, 2024 5 minutes read In the .NET Base Class Library, Dictionary<TKey, TValue> is an essential key-based hashtable providing constant time access to values. This means accessing dictionary[key] takes...
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,...
Enterprise Architecture with .NET [Book Presentation]
July 2, 2024 6 minutes read Introducing the brand new book, Enterprise Architecture with .NET. This comprehensive 772-page guide is designed to elevate your career from a regular .NET developer...
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....