Junior — Middle
Comment la mémoire est-elle gérée et structurée dans l'environnement C#?
sobes.tech IA
Réponse de l'IA
En C#, la gestion de la mémoire se realiza automáticamente mediante el recolector de basura (Garbage Collector, GC). La memoria se divide en dos áreas principales:
- Pile (Stack) — almacena variables locales y parámetros de métodos. La memoria se asigna y libera muy rápidamente según el principio LIFO.
- Montón (Heap) — almacena objetos y datos que viven más allá del tiempo de ejecución del método. La memoria en el montón es gestionada por el recolector de basura.
El recolector de basura libera periódicamente la memoria ocupada por objetos a los que ya no hay referencias. Esto libera al desarrollador de gestionar manualmente la memoria y reduce el riesgo de fugas.
Ejemplo de creación de un objeto en el montón:
class Program
{
static void Main()
{
Person p = new Person(); // el objeto se crea en el montón
}
}
class Person
{
public string Name { get; set; }
}
Aquí, el objeto Person se crea en el montón, y la variable p está en la pila, haciendo referencia a ese objeto.