c# 关于dispose
只有针对非托管资源才需要调用dispose,包含托管资源包装了非托管资源这样的情况。也只有非托管资源调用dispose才会立即进行资源清理,托管资源即使调用dispose也还是交由gc自动完成,并非立即清理。
查看国外论坛针对dataset和datatable是否需要手工调用dispose的讨论,基本得出的结论是没有必要。因为dataset和datatable完全不包含任何非托管资源。
那么dataset和datatable为什么提供dispose方法呢:仅仅是因为继承产生的副作用而已。
附上一篇讨论e文:http://stackoverflow.com/questions/913228/should-i-dispose-dataset-and-datatable