c# 中的 base:Finalize() 和Dispose() 已经close() 这个三个方法的区别
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/26 04:58:06
c# 中的 base:Finalize() 和Dispose() 已经close() 这个三个方法的区别
Finalize 是 Visual Basic 中的方法,在 C# 中没有这个关键词,而是使用析构函数.
Finalize 和 Dispose 都是释放资源,Finalize 隐式释放资源,Dispose 显式释放资源.Finalize 是对象不可访问后自动被调用的,Dispose 是类使用者调用的.
Close 这个方法在不同的类中有不同的含义,并没有任何规定要求 Close 具有特殊的含义,也就是说 Close 并不一定要释放资源,您也可以让 Close 方法表示“关门”.
不过,由于 Close 有“关”的意思,通常也把 Close 拿来释放资源,这也是允许的.比如文件操作中,用 Close 释放对象似乎比 Dispose 含义更准确,于是在设计类时,可以将 Close 设为 public,将 Dispose 设为 protected,然后由 Close 调用 Dispose.
Close 和 Dispose 同时存在的情况下(均为 public),Close 并不表示释放资源,因为通常情况下,类设计者不应该使用两个 public 方法来释放相同的资源.
Finalize 和 Dispose 都是释放资源,Finalize 隐式释放资源,Dispose 显式释放资源.Finalize 是对象不可访问后自动被调用的,Dispose 是类使用者调用的.
Close 这个方法在不同的类中有不同的含义,并没有任何规定要求 Close 具有特殊的含义,也就是说 Close 并不一定要释放资源,您也可以让 Close 方法表示“关门”.
不过,由于 Close 有“关”的意思,通常也把 Close 拿来释放资源,这也是允许的.比如文件操作中,用 Close 释放对象似乎比 Dispose 含义更准确,于是在设计类时,可以将 Close 设为 public,将 Dispose 设为 protected,然后由 Close 调用 Dispose.
Close 和 Dispose 同时存在的情况下(均为 public),Close 并不表示释放资源,因为通常情况下,类设计者不应该使用两个 public 方法来释放相同的资源.
C#中对象的销毁有三种方式Finalize,Dispose,GC.请大虾们描述三种方式的区别啊?
C#中的Read()和ReadLine()有什么区别?
Application.Exit()和this.dispose()的区别
C#中的write和writeline的区别
final, finally, finalize 的区别.
final,finally,finalize的区别?
Java中final,finally和finalize的区别是什么?
C语言中的函数 和 C# 中的函数(方法) 可以通用不?如 ABS 取绝对值之类,
final,finally,finalize的区别是什么?
谈谈final,finally,finalize的区别.
谈final,finally,finalize的区别
C#中的Console.Read()和Console.ReadLine()