Sobes.tech
Junior — Middle

Meg tudná magyarázni egy objektum vagy változó élettartamának fogalmát egy programban?

sobes.tech MI

Válasz az MI-től

Egy objektum vagy változó létezési ideje az az időszak, amikor az objektum vagy változó memóriát foglal és elérhető a programban.

C#-ban a létezési idő a változó hatókörétől és típusától függ:

  • Helyi változók csak a kódrészlet végrehajtása közben léteznek (pl. egy metódus). A blokk elhagyása után a memória felszabadul.
  • Objektum mezői addig léteznek, amíg maga az objektum is létezik. A heapen lévő objektum addig él, amíg vannak rá hivatkozások, utána a szemétgyűjtő felszabadítja a memóriát.
  • Statikus változók az alkalmazás teljes futási ideje alatt léteznek.

Példa:

class Program
{
    static int staticCounter = 0; // az egész program futása alatt él

    void Method()
    {
        int localVar = 5; // csak a metódus végrehajtása közben létezik
        var obj = new MyClass(); // az objektum addig él, amíg vannak rá hivatkozások
    }
}