Last Updated: May 22, 2026
The stackalloc expression carves out a chunk of the current method's stack frame and gives you a buffer of value-type elements that lives there, not on the heap. Since C# 7.2 you can assign the result to Span<T> or ReadOnlySpan<T> and use it from ordinary, safe code, with no unsafe block in sight. This chapter is about when that's a win, the rules the compiler enforces to keep it sound, and the very real ways it can blow up if you misuse it.