【发布时间】:2016-09-20 05:02:08
【问题描述】:
以下代码有什么区别
代码 1:
if(RecordCollections!=null){
RecordCollections.Clear();
RecordCollections=null;
}
代码 2:
RecordCollections = null;
代码存在于 Dispose 方法中,在将 Collection 设置为 null 之前使用 Clear 方法有什么优势吗?是否完全需要?
【问题讨论】:
-
@Dev.Joel:您的链接问题涉及一个类,该类将在调用其
Reset()方法后继续使用(首先,类中的一个可疑功能,因为假设一个合理的实现对于这种方法,只需分配一个新实例即可完成相同的任务)。在这里,OP 正在询问正在处理的对象;因为按照惯例,一旦调用了Dispose()方法,对象就不应该可用,因此可以安全地假设正在处理的对象实际上不会再次使用,因此其他答案中提到的(边际)好处不会申请。
标签: c# collections memory-leaks dispose