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,...
Avoid Technical Debt with NDepend
July 14, 2024 2 minutes read The term “technical debt” has become ubiquitous in the programming world. In the most general sense, it reflects the idea that you’re doing something...
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....
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...
A Test Coverage Primer for Managers
May 27, 2024 5 minutes read Managing Blind Let me see if I can get in your head a little bit. You manage a team of developers and it goes...
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...
Interview of our Team Lead Patrick Smacchia at WebsitePlanet
May 6, 2024 1 minutes read Here is an interview of our Team Lead Patrick Smacchia at WebsitePlanet, enjoy 🙂
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...
In the Jungle of .NET Obfuscator Tools
April 26, 2024 7 minutes read In this article, I will explain our genuine experience with various .NET Obfuscator Tools. We end up explaining that .NET Reactor is the one...
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...
.NET Native AOT Explained
April 24, 2024 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...
.NET 8 Top 10 New Features
April 24, 2024 7 minutes read .NET 8 has been officially released in November 2023. You can download it here. Designated as an LTS (Long Term Support) version, it guarantees...
Deconstruction in C#
April 24, 2024 2 minutes read C# 7.0 introduced the deconstruction syntax. It allows developers to extract in a single expression, properties of an object or elements of a tuple...
C# Index and Range Operators Explained
April 24, 2024 3 minutes read In this post, we comprehensively demystify the C# index ^ and range .. operators. The index operator ^ Let’s start with the index ^...
Will Visual Studio Be Migrated to .NET Core and Become Multi-Platform?
April 22, 2024 7 minutes read I came across comments on a recent Reddit post and thought it would be intriguing to analyze the DLLs of Visual Studio 2022 (version...
Improve Your Code Review Game with NDepend
April 21, 2024 3 minutes read Code review is a subject with which I’m quite familiar. I’m familiar first as a participant, both reviewing and being reviewed, but it goes...
Clean Architecture in ASP.NET Core
April 16, 2024 9 minutes read The Clean Architecture pattern has gained significant popularity for the design and development of software applications. It emphasizes key principles to better maintain, scale,...
Understand Directory.Build.props: Centralizing .NET Project Configurations
April 4, 2024 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...
The .editorconfig files for .NET developers
March 29, 2024 4 minutes read In software development, ensuring uniform coding styles across different editors and IDEs is challenging. .editorconfig files offer a universal solution to this problem, transcending...
Reporting Roslyn Analyzers
March 26, 2024 4 minutes read Introduction Roslyn Analyzers offer significant value to .NET developers. They identify code issues and vulnerabilities and inform developers about necessary fixes directly in the...
Why Should Managers Care About Static Analysis?
March 22, 2024 5 minutes read I’d like to talk a bit today about how, if you’re a dev manager for a team or teams that are responsible for .NET...
Managing to Avoid Cobras
March 3, 2024 2 minutes read Incentives are a funny thing. Done well, they can spur your team to productivity and career-advancing, win-win situations. Done not so well, they can...
High .NET Code Maintainability: A Case Study
February 13, 2024 8 minutes read High .NET Code Maintainability is the key to achieve both happy management and happy developers: Maintainability lets a product evolve naturally at a sustained...
Architecture of a .NET Application: 8 Case Studies
January 30, 2024 9 minutes read This recent question on Reddit’s Number of projects per solution led to interesting debates. Of course, the answer depends largely on the overall size...