- 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.

Closed class hierarchies
Exploring the .NET 11 preview - Part 4
In this post I describe what a close closed hierarchy is, how to create one, and discuss why you might want to…

Avoiding ToString() allocations with StringBuilder.MoveChunks
Exploring the .NET 11 preview - Part 3
In this post I take a short look at the new MoveChunks API, explore how it works, what it's for, and how the new API provides opportunities for public APIs…

.NET (OK, C#) finally gets union types🎉
Exploring the .NET 11 preview - Part 2
In this post I discuss the support for union types released in .NET 11, how they're implemented, the choices made, and how to create your own…

Running background tasks in Blazor with Web Workers
Exploring the .NET 11 preview - Part 1
In this post I discuss the new Web Worker template available in .NET 11 for running CPU intensive tasks without blocking the UI…

New features in Git 2.54: easier rebasing, hooks, and statistics
In this post I show some of the new features in Git 2.54 including simple rebases with git history, config-based hooks, and stats with git repo structure…
![Banner image for Removing byte[] allocations in .NET Framework using ReadOnlySpan<T>](/content/images/2026/readonlyspan_banner.png)
Removing byte[] allocations in .NET Framework using ReadOnlySpan<T>
In this post I describe how to remove static byte[] allocations, even on .NET Framework, by using Span<T>, look at the associated IL, and discuss the risks…

