Merhaba.
Bugün sizlere C# dilinde yer alan Dispose() metodunun ne işe yaradığını ve nasıl kullanıldığını anlatmaya çalışacağım.
Öncelike Dispose() nedir?
Dispose(), bir işlemden sonra yapılan işlemi bellekten atmak demek. Yani, siz bir işlemi bitirirken
Bu kod örneğinde gördüğünüz üzere bir yazdırma işleminden sonra
Not: Open(), Close() veya Clear() metodunu Dispose() metodundan sonra kullanırsanız program çöker.
Not: Bellekten Dispose() ile atılan nesne üzerine tekrar işlem yapılmaz.
Clear(), Close(), Dispose() arasındaki fark;
Tek güvenlik için değil tabii ki Dispose() metodu. Programın yüksek bellek kullanmasını önlemek gibi işlemler için çok önem arz eder.
Buraya kadar okuduysanız teşekkür ederim.
Yazılım rehberlerinin devamı gelecek.
İyi çalışmalar
Bugün sizlere C# dilinde yer alan Dispose() metodunun ne işe yaradığını ve nasıl kullanıldığını anlatmaya çalışacağım.
Öncelike Dispose() nedir?
Dispose(), bir işlemden sonra yapılan işlemi bellekten atmak demek. Yani, siz bir işlemi bitirirken
Close()
metodu kullandığınız zaman bu işlem bellekte durmaya ve yer kaplamaya devam eder. Dispose() metodu, bu yapılan işlemi bellekten atar.
C#:
SaveFileDialog save_engine = new SaveFileDialog{
InitialDirectory = @"C:\Users\" + SystemInformation.UserName + @"\Desktop\",
Title = $"{Application.ProductName} - Please select the location to save",
DefaultExt = "txt",
FileName = $"{Application.ProductName} - System Report",
Filter = "Text Document (*.txt)|*.txt"
};
if (save_engine.ShowDialog() == DialogResult.OK){
MessageBox.Show($"Yazdırma işlemi tamamlandı.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
save_engine.Dispose();
Bu kod örneğinde gördüğünüz üzere bir yazdırma işleminden sonra
SaveFileDialog
nesnesini Dispose() ediyoruz. Bu sayede binlerce yazdırma yapıldıktan sonra bellekte yer kaplayan veriler bellekten atılıyor.Not: Open(), Close() veya Clear() metodunu Dispose() metodundan sonra kullanırsanız program çöker.
Not: Bellekten Dispose() ile atılan nesne üzerine tekrar işlem yapılmaz.
Clear(), Close(), Dispose() arasındaki fark;
- Clear() metodu: Verilerin olduğu alanı temizler. Ancak, veriler bellekte durmaya devam eder.
- Close() metodu: Close bir işlemi sonlandırır. Ancak, veriler bellekte durmaya devam eder.
- Dispose() metodu: Bir işlemi sonlandırır ve bellekten atar. Bellekten atılan veri üzerinde tekrar işlem yapılmaz.
Tek güvenlik için değil tabii ki Dispose() metodu. Programın yüksek bellek kullanmasını önlemek gibi işlemler için çok önem arz eder.
Buraya kadar okuduysanız teşekkür ederim.
Yazılım rehberlerinin devamı gelecek.
İyi çalışmalar
Son düzenleme: