Sobes.tech
Junior — Middle

Puoi spiegare il concetto di durata di vita di un oggetto o variabile in un programma?

sobes.tech AI

Risposta dell'AI

La durata di vita di un oggetto o variabile è il periodo di tempo durante il quale l'oggetto o la variabile occupano memoria e sono disponibili per l'uso nel programma.

In C#, la durata di vita dipende dall'ambito e dal tipo di variabile:

  • Variabili locali esistono solo durante l'esecuzione del blocco di codice (ad esempio, un metodo). Dopo l'uscita dal blocco, la memoria viene liberata.
  • Campi degli oggetti esistono finché l'oggetto stesso esiste. L'oggetto nel heap vive finché ci sono riferimenti a esso, poi il garbage collector libera la memoria.
  • Variabili statiche esistono per tutta la durata dell'esecuzione dell'applicazione.

Esempio:

class Program
{
    static int staticCounter = 0; // vive per tutta la durata dell'esecuzione del programma

    void Method()
    {
        int localVar = 5; // esiste solo durante l'esecuzione del metodo
        var obj = new MyClass(); // l'oggetto vive finché ci sono riferimenti
    }
}