Rumah  >  Artikel  >  pembangunan bahagian belakang  >  C# Object Dispose

C# Object Dispose

王林
王林asal
2024-09-03 15:04:301163semak imbas

Untuk membebaskan dan menetapkan semula sumber yang tidak diurus seperti sambungan ke pangkalan data, fail, dsb., dan untuk melakukan pembersihan memori, kami menggunakan fungsi yang dipanggil dispose of () function dalam C#. Ia mesti melaksanakan antara muka IDisposable dan mesti dipanggil oleh pengguna secara eksplisit dan bukan oleh pemungut sampah. Kos berkenaan dengan prestasi semasa menggunakan kaedah buang () adalah batal kerana kaedah buang() membersihkan memori serta-merta yang mengoptimumkan memori dan oleh itu penggunaan fungsi ini untuk membersihkan sumber yang tidak terurus seperti fail dan sambungan ke pangkalan data adalah sangat sangat disyorkan.

Sintaks:

dispose();

Fungsi buang() berfungsi

Kerja fungsi dispose() adalah seperti berikut:

  • Untuk membebaskan dan menetapkan semula sumber yang tidak diurus seperti sambungan ke pangkalan data, fail, dsb., dan untuk melakukan pembersihan memori, kami menggunakan fungsi yang dipanggil fungsi buang () dalam C#.
  • Fungsi dispose() dalam C# mesti melaksanakan antara muka IDisposable.
  • Fungsi buang () dalam C# mesti dipanggil oleh pengguna secara eksplisit dan bukan oleh pemungut sampah.
  • Kos berkenaan dengan prestasi semasa menggunakan kaedah buang () adalah batal kerana kaedah buang () membersihkan memori serta-merta yang mengoptimumkan memori dan dengan itu penggunaan fungsi ini untuk membersihkan sumber yang tidak terurus seperti fail dan sambungan ke pangkalan data amat disyorkan.

Contoh C# Object Dispose

Mari kita bincangkan contoh C# Object Dispose.

Contoh #1

Program C# untuk menunjukkan penggunaan fungsi dispose() dengan melaksanakan antara muka IDisposable dan memanggil fungsi dispose() secara eksplisit yang memaparkan mesej yang sesuai:

Kod:

using System;
using System.IO;
using System;
//a class called demonstratingclass is defined and it implements the IDidposable interface
public class demonstratingclass : IDisposable
{
//the dispose() method is defined to to perform the release of the required resources
public void Dispose()
{
Console.WriteLine("The dispose() function has been called and the resources have been released!");
}
}
//another class called demofordispose is defined
public class demofordispose
{
//main method is called
public static void Main()
{
//an instance of the demonstratingclass is created
var result = new demonstratingclass();
//the dispose() method is called on the instance of the demonstratingclass to release it from the memory
result.Dispose();
}
}

Output:

C# Object Dispose

Dalam program di atas, kelas yang dipanggil kelas demonstrasi ditakrifkan dan ia melaksanakan antara muka IDidposable. Kemudian kaedah buang () ditakrifkan dalam kelas yang menunjukkan yang melaksanakan antara muka IDisposable untuk melaksanakan pelepasan sumber yang diperlukan. Kemudian kelas lain yang dipanggil demofordispose ditakrifkan di mana kaedah utama dipanggil. Dalam kaedah utama, contoh kelas yang menunjukkan dibuat. Kemudian fungsi buang () dipanggil pada contoh kelas yang menunjukkan untuk melepaskannya daripada ingatan dan mesej yang sesuai dipaparkan.

Contoh #2

Program C# untuk menunjukkan penggunaan fungsi buang () dengan melaksanakan antara muka IDisposable dan memanggil fungsi buang () secara eksplisit yang memaparkan mesej yang sesuai:

Kod:

using System;
//a class called demonstratingclass is defined and it implements the IDidposable interface
public class demonstratingclass : IDisposable
{
//the dispose() method is defined to to perform the release of the required resources
public void Dispose()
{
Console.WriteLine( "The resources have been released because the dispose function is called upon them");
}
}
//another class called demofordispose is defined
public class demofordispose
{
//main method is called
public static void Main()
{
//an instance of the demonstratingclass is created
var check = new demonstratingclass();
//the dispose() method is called on the instance of the demonstratingclass to release it from the memory
check.Dispose();
}
}

Output:

C# Object Dispose

Dalam program di atas, kelas yang dipanggil kelas demonstrasi ditakrifkan dan ia melaksanakan antara muka IDidposable. Kemudian kaedah buang () ditakrifkan dalam kelas yang menunjukkan yang melaksanakan antara muka IDisposable untuk melaksanakan pelepasan sumber yang diperlukan. Kemudian kelas lain yang dipanggil demofordispose ditakrifkan di mana kaedah utama dipanggil. Dalam kaedah utama, contoh kelas demonstrasi dicipta. Kemudian fungsi buang () dipanggil pada instance demonstratingclass untuk melepaskannya daripada memori dan mesej yang sesuai dipaparkan.

Contoh 3

Program C# untuk menunjukkan penggunaan fungsi dispose() dengan melaksanakan antara muka IDisposable dan memanggil fungsi dispose() secara eksplisit yang memaparkan mesej yang sesuai:

Kod:

using System;
//a class called demonstratingclass is defined and it implements the IDidposable interface
public class demonstratingclass : IDisposable
{
//the dispose() method is defined to to perform the release of the required resources
public void Dispose()
{
Console.WriteLine("The dispose() function is releasing the specified resources freeing them from the memory.");
}
}
//another class called demofordispose is defined
public class demofordispose
{
//main method is called
public static void Main()
{
//an instance of the demonstratingclass is created
var check1 = new demonstratingclass();
//the dispose() method is called on the instance of the demonstratingclass to release it from the memory
check1.Dispose();
}
}

Output:

C# Object Dispose

Dalam program di atas, kelas yang dipanggil kelas demonstrasi ditakrifkan dan ia melaksanakan antara muka IDidposable. Kemudian kaedah buang () ditakrifkan dalam kelas yang menunjukkan yang melaksanakan antara muka IDisposable untuk melaksanakan pelepasan sumber yang diperlukan. Kemudian kelas lain yang dipanggil demofordispose ditakrifkan di mana kaedah utama dipanggil. Dalam kaedah utama, contoh kelas yang menunjukkan dibuat. Kemudian fungsi dispose() dipanggil pada contoh kelas yang menunjukkan untuk melepaskannya daripada memori dan mesej yang sesuai dipaparkan.

Kesimpulan

Dalam artikel ini, kami telah mempelajari konsep melupuskan () fungsi dalam C# melalui takrifan, sintaks dan kerja melupuskan () fungsi dalam C# melalui contoh pengaturcaraan dan outputnya.

Atas ialah kandungan terperinci C# Object Dispose. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Objek dalam C#Artikel seterusnya:Objek dalam C#