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
}
}