Junior — Middle
Ar galite pateikti pavyzdį situacijos, kai naudojamas IDisposable modelis resursų valdymui?
sobes.tech AI
Atsakymas iš AI
IDisposable modelis naudojamas valdyti nevaldomus išteklius, tokius kaip failų aprašai, tinklo ryšiai, srautai ir kt. Jo tikslas yra užtikrinti išteklių atlaisvinimą, kai objektas nebėra reikalingas.
Pavyzdys: dirbti su failu. FileStream klasė įgyvendina IDisposable, kad uždarytų failą ir atlaisvintų aprašą po naudojimo.
using (var stream = new FileStream("failas.txt", FileMode.Open))
{
// Darbas su failu
}
// Čia automatiškai kviečiasi stream.Dispose(), failas uždaromas
Naudojant using konstrukciją garantuojama Dispose iškvietimas, net jei įvyksta išimtis.