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