Sobes.tech
Junior — Middle

Czy możesz wyjaśnić koncepcję czasu życia obiektu lub zmiennej w programie?

sobes.tech AI

Odpowiedź od AI

Czas trwania istnienia obiektu lub zmiennej to okres, w którym obiekt lub zmienna zajmują pamięć i są dostępne do użycia w programie.

W C# czas trwania zależy od zakresu i typu zmiennej:

  • Zmienne lokalne istnieją tylko podczas wykonywania bloku kodu (np. metody). Po opuszczeniu bloku pamięć dla nich jest zwalniana.
  • Pola obiektów istnieją tak długo, jak istnieje sam obiekt. Obiekt na stercie żyje, dopóki są do niego odwołania, potem pamięć zwalnia garbage collector.
  • Zmienne statyczne istnieją przez cały czas działania aplikacji.

Przykład:

class Program
{
    static int staticCounter = 0; // żyje przez cały czas działania programu

    void Method()
    {
        int localVar = 5; // istnieje tylko podczas wykonywania metody
        var obj = new MyClass(); // obiekt żyje, dopóki są do niego odwołania
    }
}