In C# are static classes stack allocated?
Since they cannot be instantiated, I guess that must the how it is done.
In C# are static classes stack allocated?
Since they cannot be instantiated, I guess that must the how it is done.
My understanding is that static classes are allocated on the heap (using the static constructor, when the type is initialised).
If they were on the stack, you'd run out of stack space very quickly, if you had a lot of static classes kicking around.
They're stored inside the area of the heap called the High Frequency Heap. You can find more details in this codeproject article. Static Keyword Demystified