Sobes.tech
Junior — Middle

Quante aree sono assegnate per la distribuzione dinamica della memoria durante l'esecuzione del programma?

sobes.tech AI

Risposta dell'AI

Durante l'esecuzione di un programma in C#, la memoria dinamica viene allocata nell'heap gestito (managed heap). Questo heap rappresenta un'unica area di memoria in cui vengono collocati gli oggetti creati con l'operatore new.

In altre parole, è stata riservata un'unica area per la distribuzione dinamica della memoria: l'heap gestito, che è gestito dall'ambiente di runtime CLR (Common Language Runtime). Il garbage collector libera automaticamente la memoria non più utilizzata in questa area.

Esempio di creazione di un oggetto nell'heap:

class Program
{
    static void Main()
    {
        var obj = new MyClass(); // memoria allocata nell'heap gestito
    }
}

class MyClass
{
    public int Value;
}