-
Sponsored by Nick Chapsas—Want to learn how to build elegant REST APIs in .NET? Get 5% off Nick's latest course "From Zero to Hero: REST APIs in .NET"!
-
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. You even get a free copy of the previous editions of ASP.NET Core in Action!
-
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…
-
Reducing allocations by caching with StringBuilderCache
A deep dive on StringBuilder - Part 5
In this post I look at the internal StringBuilderCache type, benchmark it against a StringBuilder, and walk through the code to show how it works.…
-
Inserting and removing characters
A deep dive on StringBuilder - Part 4
In this post we look at the Insert() and Remove() functions, which can involve tricky manipulations of chunks in the middle of the linked list…
-
Converting chunks to a string with ToString()
A deep dive on StringBuilder - Part 3
In this post I look at StringBuilder.ToString(), show how multiple chunk arrays are converted to a string, and compare it to .NET Framework's approach.…
-
Appending strings, built-in types, and lists
A deep dive on StringBuilder - Part 2
In this post I look at how StringBuilder appends strings, ints, and doubles efficiently. We also look at how it adds lists with a separator.…
-
The overall design and a first look at the internals
A deep dive on StringBuilder - Part 1
In this post I take an initial look at the StringBuilder type, show how it's designed, and dive into the source code to see how it works…