Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

ความแตกต่างระหว่าง dispose() และ finalize() ใน C #


ในโพสต์นี้ เราจะเข้าใจความแตกต่างระหว่างวิธีการ "ทิ้ง" และ "เสร็จสิ้น" ใน C#

ทิ้ง

  • เมธอดนี้กำหนดไว้ในอินเทอร์เฟซ IDisposable

  • จะต้องถูกเรียกใช้โดยผู้ใช้

  • เมื่อใดก็ตามที่มีการเรียกใช้ จะช่วยเพิ่มทรัพยากรที่ไม่มีการจัดการ

  • สามารถใช้งานได้ทุกครั้งที่มีเมธอด close()

  • ประกาศเป็นวิธีการสาธารณะ

  • รวดเร็วและกำจัดวัตถุได้ทันที

  • เนื่องจากทำงานทันทีจึงไม่ส่งผลต่อประสิทธิภาพ

จบ

  • เป็นวิธีการที่กำหนดไว้ในคลาส java.lang.object

  • มันถูกเรียกโดยตัวรวบรวมขยะ

  • ช่วยเพิ่มทรัพยากรที่ไม่มีการจัดการก่อนที่วัตถุจะถูกทำลาย

  • มันถูกนำไปใช้เพื่อจัดการทรัพยากรที่ไม่มีการจัดการ

  • ประกาศเป็นส่วนตัว

  • มันช้ากว่าเมื่อเปรียบเทียบกับวิธี 'ทิ้ง'

  • เนื่องจากทำงานช้าจึงส่งผลต่อประสิทธิภาพของเว็บไซต์หรือแอปพลิเคชัน