我知道.NET中的结构没有析构函数,但它不清楚为什么它们以这种方式受到限制。
防止结构有析构函数的技术原因是什么?
答案 0 :(得分:3)
结构体不能有析构函数。析构函数只是一个覆盖 object.Finalize in伪装,而 structs,是值类型,则不是 受垃圾收集影响
无法在结构中定义析构函数。它们仅用于 类。
析构函数隐式调用对象基类的Finalize。
答案 1 :(得分:-3)
C#中的析构函数(Finalize)从GC中被称为隐式。它用于释放Heap中分配的内存。引用类型对象存储在Heap中。 GC仅为引用类型分配和释放内存,并使用堆。