Junior — Middle
Чаро дар баъзе ҳолатҳо муҳим аст, ки озодкунии хотираро дастӣ идора кунед؟
sobes.tech AI
Ҷавоб аз AI
Дар C# одатан истифодаи ҷамъкунандаи партовҳо (Garbage Collector) истифода мешавад, ки худкор ёдгории нопайдоишударо озод мекунад. Аммо дар баъзе ҳолатҳо, муҳим аст, ки озодкунии ёдгории дастӣ анҷом дода шавад:
- Вақте ки объект истифодаи захираҳои ғайриҳуқуқӣ (файлҳо, пайвастҳои шабакавӣ, дескрипторҳо) мекунад, ки аз ҷониби ҷамъкунандаи партовҳо назорат намешаванд.
- Барои озодкунии саривақтӣ ва пешгирии сӯхтанҳо ва бастаниҳо.
Барои ин, интерфейси IDisposable ва усули Dispose() иҷро карда мешавад, ки дар он захираҳо равшанона озод карда мешаванд.
Масалан:
class FileHandler : IDisposable
{
private FileStream _fileStream;
public FileHandler(string path) {
_fileStream = new FileStream(path, FileMode.Open);
}
public void Dispose() {
_fileStream?.Dispose();
}
}
Бинобар ин, идоракунии дастӣ дар озодкунии ёдгории муҳим аст барои назорат кардани захираҳо ва пешгирии мушкилоти иҷроиш ва устувории барнома.