ภาพรวม
เมธอด CharEnumerator.Dispose() ใน C# ใช้เพื่อปล่อยทรัพยากรทั้งหมดที่ถูกใช้งานโดยอินสแตนซ์ปัจจุบันของคลาส CharEnumerator วิธีนี้มีความสำคัญต่อการจัดการหน่วยความจำที่มีประสิทธิภาพ โดยเฉพาะเมื่อทำงานกับตัวแปรนับอักขระในลูปหรือการประมวลผลข้อความขนาดใหญ่
ไวยากรณ์
public void Dispose();
ตัวอย่างการใช้งาน
ตัวอย่างต่อไปนี้แสดงการใช้งาน CharEnumerator.Dispose() เพื่อทำลายอินสแตนซ์หลังใช้งานเสร็จสิ้น:
using System;
public class Demo
{
public static void Main()
{
string strNum = "356";
CharEnumerator ch = strNum.GetEnumerator();
while (ch.MoveNext())
Console.Write(ch.Current + " ");
// ปล่อยทรัพยากรที่ใช้โดย CharEnumerator
ch.Dispose();
// บรรทัดด้านล่างจะทำให้เกิดข้อผิดพลาด เนื่องจากออบเจ็กต์ถูกทำลายแล้ว
// Console.WriteLine(ch.Current);
}
}ผลลัพธ์
โค้ดข้างต้นจะให้ผลลัพธ์ดังนี้:
3 5 6
ข้อสังเกตสำคัญ
- ควรเรียก
Dispose()เสมอเมื่อเสร็จสิ้นการใช้งานCharEnumeratorเพื่อป้องกันการรั่วไหลของหน่วยความจำ - หลังจากเรียก
Dispose()แล้ว ไม่ควรเข้าถึงสมาชิกใดๆ ของอินสแตนซ์นั้นอีก - สามารถใช้คำสั่ง
usingเพื่อจัดการการทำลายอัตโนมัติได้เช่นกัน