Sobes.tech
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();
    }
}

Бинобар ин, идоракунии дастӣ дар озодкунии ёдгории муҳим аст барои назорат кардани захираҳо ва пешгирии мушкилоти иҷроиш ва устувории барнома.