![ทิ้ง - อริสมันต์ พงษ์เรืองรอง](https://i.ytimg.com/vi/paX7mGEiXS8/hqdefault.jpg)
เนื้อหา
- คำจำกัดความ - การกำจัดหมายถึงอะไร
- ข้อมูลเบื้องต้นเกี่ยวกับ Microsoft Azure และ Microsoft Cloud | ในคู่มือนี้คุณจะได้เรียนรู้ว่าการประมวลผลแบบคลาวด์คืออะไรและ Microsoft Azure สามารถช่วยคุณในการโยกย้ายและดำเนินธุรกิจจากคลาวด์อย่างไร
- Techopedia อธิบายการกำจัด
คำจำกัดความ - การกำจัดหมายถึงอะไร
ในการต่อต้านของ C #, การกำจัดเป็นวิธีวัตถุที่เรียกใช้รหัสที่จำเป็นสำหรับการล้างหน่วยความจำและปล่อยและรีเซ็ตทรัพยากรที่ไม่มีการจัดการเช่นการจัดการไฟล์และการเชื่อมต่อฐานข้อมูล กำจัดปรับปรุงประสิทธิภาพและเพิ่มประสิทธิภาพหน่วยความจำโดยการปล่อยวัตถุที่ไม่สามารถจัดการได้และทรัพยากรที่หายากเช่น Graphics Device Interface (GDI) จัดการที่ใช้ในแอพพลิเคชั่นที่มีพื้นที่ จำกัด ของ Windows
กระบวนการทิ้งวิธีให้โดยอินเทอร์เฟซ IDisposable ดำเนินการโทรออก รูปแบบการกำจัดออกแบบมาสำหรับการล้างข้อมูลที่ทันเวลาและคาดการณ์ได้การป้องกันการรั่วไหลของหน่วยความจำชั่วคราวและการกำจัดทรัพยากร
ข้อมูลเบื้องต้นเกี่ยวกับ Microsoft Azure และ Microsoft Cloud | ในคู่มือนี้คุณจะได้เรียนรู้ว่าการประมวลผลแบบคลาวด์คืออะไรและ Microsoft Azure สามารถช่วยคุณในการโยกย้ายและดำเนินธุรกิจจากคลาวด์อย่างไร
Techopedia อธิบายการกำจัด
กรอบงาน. NET ช่วยอำนวยความสะดวกในการรวบรวมขยะ (GC) จัดการหน่วยความจำวัตถุและทรัพยากรและเรียกคืนการอ้างอิงหน่วยความจำวัตถุที่ไม่ถูกต้องโดยเรียกใช้ Finalize ซึ่งเป็นวิธีการที่ไม่สามารถกำหนดค่าได้ กระบวนการกำจัดวิธีการควบคุมอายุการใช้งานของอินสแตนซ์หน่วยความจำวัตถุและให้การควบคุมการล้างข้อมูลหน่วยความจำอย่างชัดเจนเมื่อเทียบกับ Finalizes ล้างหน่วยความจำโดยนัย การกำจัดอาจถูกเรียกใช้แม้ว่าจะมีอินสแตนซ์วัตถุหน่วยความจำอื่นอยู่ในขณะที่การสรุปอาจถูกเรียกใช้หลังจากวัตถุหน่วยความจำสุดท้ายถูกทำลาย
กฎระเบียบวิธีการกำจัดมีดังนี้:
- ใช้สำหรับทรัพยากรที่ไม่มีการจัดการที่ต้องการการปล่อยทันทีหลังการใช้งาน
- หากไม่ได้รับการกำจัดจะต้องดำเนินการตามขั้นตอนสุดท้าย
- หลังจากเรียกเมธอด Dispose นั้นต้องเรียกเมธอด GC.SuppressFinalize เพื่อหลีกเลี่ยงวิธี Finalize และหลีกเลี่ยง GC ที่ไม่จำเป็น
- ควรจัดการข้อยกเว้นอย่างรอบคอบหากมีการเรียกใช้วิธีการกำจัดมากกว่าหนึ่งครั้ง หากมีการจำหน่ายทรัพยากรวิธีการใด ๆ ของอินสแตนซ์อาจโยน ObjectDisposedException
- วัตถุที่มีวิธีการกำจัดทิ้งก่อนหน้านี้อาจไม่สามารถนำกลับมาใช้ใหม่ได้
- ขอแนะนำให้จัดการการกำจัดสำหรับการจัดการวัตถุท้องถิ่นเท่านั้นและวัตถุ Component Object Model (COM) ที่เปิดเผยใน. NET Framework
- การกำจัดอาจไม่ถูกเรียกใช้พร้อมกันจากหลายเธรดเนื่องจากผลลัพธ์ที่ไม่สามารถคาดการณ์ได้
- ไม่ควรสร้างประเภทค่าเป็นชนิดใช้ครั้งเดียวหรือกับสมาชิกของทรัพยากรที่ไม่มีการจัดการ
- เมื่อใช้ทรัพยากรที่ไม่มีการจัดการจะถือว่าเป็นการปฏิบัติที่ดีที่สุดในการใช้คำสั่งซอร์สโค้ดโดยใช้คำสั่งซึ่งจะเรียกใช้เมธอด Dis ทิ้งโดยอัตโนมัติหลังจากกรอกรหัสวัตถุ