问题 是否有必要设置局部画笔变量?

普利安酮

新成员
已加入
2011年9月18日
留言内容
3
编程经验
Beginner
MSDN建议在发布其最后一个引用之前,处置任何类型为System.Drawing.Brush的变量。否则,除非垃圾回收器调用Brush对象的Finalize方法,否则不会释放正在使用的资源。

众所周知,当控制流超出其所属方法的范围时,局部变量将被自动销毁。因此,是否必须每次都在局部放置画笔对象?
 

约翰·H

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
1,076
地点
挪威
编程经验
10+
是的,始终需要在“释放”对象之前处理它们。该变量超出范围仅表示分配给该变量的内存已释放,它所引用的对象(及其内存)仍然存在,并且GC最终确定对象可能需要很长时间。
另请阅读有关Brushes类的说明。
 
最佳 底部