2010-06-25 25 views
5

En C#, ¿está asignada la pila de clases estáticas?Asignación de clase estática

Como no se pueden crear instancias, creo que así debe ser.

+0

Si/porque no se crean instancias, no se asignan instancias de ellas. – ChrisW

+2

¿Por qué asignaría algo en la tienda temporal que * no es temporal *? La pila, también conocida como la tienda temporal, es para asignar cosas que * desaparecen *. Pero las clases estáticas nunca desaparecen. –

+0

@ChrisW: Entonces, ¿dónde viven los campos estáticos de la clase estática? –

Respuesta

10

Se almacenan dentro del área del montón denominado High Frequency Heap. Puede encontrar más detalles en este artículo del proyecto de código. Static Keyword Demystified

5

Mi comprensión es que las clases estáticas se asignan en el montón (utilizando el constructor estático, cuando se inicializa el tipo).

Si estuvieran en la pila, se quedaría sin espacio en la pila muy rápido, si tuviera muchas clases estáticas dando vueltas.

Cuestiones relacionadas