C# Language構造函數和終結器


介紹

構造函數是類中的方法,在創建該類的實例時調用這些方法。他們的主要職責是使新對象處於有用且一致的狀態。

Destructors / Finalizers是類中的方法,當它的實例被銷毀時調用它們。在C#中,它們很少被明確地編寫/使用。

備註

C#實際上沒有析構函數,而是使用C ++樣式析構函數語法的終結器。指定析構函數會覆蓋無法直接調用的Object.Finalize()方法。

與具有類似語法的其他語言不同,當對象超出範圍時, 不會調用這些方法,但在垃圾收集器運行時會調用這些方法,這在某些條件下會發生。因此, 保證它們以任何特定順序運行。

終結應負責清理非託管資源(通過Marshal類獲取的指針,通過P接收/調用(系統調用)或不安全的塊中使用的原始指針)。要清理託管資源,請查看IDisposable,Dispose模式和using語句。

(進一步閱讀: 我什麼時候應該創建一個析構函數?

構造函數和終結器 相關例子