- Loading...
Sponsored by Dometrain Courses—Get 30% off Dometrain Pro with code ANDREW30 and access the best courses for .NET Developers

My new book ASP.NET Core in Action, Third Edition is available now! It supports .NET 7.0, and is available as an eBook or paperback.

Making foreach on an IEnumerable allocation-free using reflection and dynamic methods
In this post I describe why foreach sometimes allocates, and show how you can use DynamicMethod and Reflection.Emit to go allocation-free…

Creating a .NET CLR profiler using C# and NativeAOT with Silhouette
In this post I look at how to create a simple .NET profiler. But instead of using C++, the profiler uses C# and NativeAOT with the Silhouette library…
![Banner image for Easier reflection with [UnsafeAccessorType] in .NET 10](/content/images/2025/unsafe_accessor_banner.png)
Easier reflection with [UnsafeAccessorType] in .NET 10
Exploring the .NET 10 preview - Part 9
In this post I show how to work with [UnsafeAccessor] to do 'easier' reflection and how to use .NET 10's [UnsafeAccessorType] with types you can't reference…

Using default interface methods for performance gains in IHeaderDictionary
In this post I look at an example of how default interfaces were used to improve the performance of IHeaderDictionary…

A brief look at StringValues
In this post I look at the StringValues type, where it's used in ASP.NET Core, why it's useful, how it's implemented, and why.…

ValueStringBuilder: a stack-based string-builder
A deep dive on StringBuilder - Part 6
In this post I discuss the ValueStringBuilder type, used internally in .NET as a zero/low-allocation alternative to StringBuilder…

