ทิ้ง

ผู้เขียน: Lewis Jackson
วันที่สร้าง: 8 พฤษภาคม 2021
วันที่อัปเดต: 1 กรกฎาคม 2024
Anonim
ทิ้ง - อริสมันต์ พงษ์เรืองรอง
วิดีโอ: ทิ้ง - อริสมันต์ พงษ์เรืองรอง

เนื้อหา

คำจำกัดความ - การกำจัดหมายถึงอะไร

ในการต่อต้านของ 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 ทิ้งโดยอัตโนมัติหลังจากกรอกรหัสวัตถุ
คำจำกัดความนี้ถูกเขียนในการต่อต้านของ C #