46, 显示释放资源,需要实现IDisposable接口。 最好按照微软建议的Dispose模式实现。实现了IDisposable接口后,在Using代码块中,垃圾会得到自动清理。 47, 即使提供了显示的释放方法,也应该在终结器中提供隐式实现。 因为我们不能保证用户会主动去调用这个释放方法,但我们...
分类:
其他好文 时间:
2014-10-09 19:33:07
阅读次数:
213
类和结构类是存储在堆(heap)上的引用类型,而结构是存储在栈(stack)上的值类型。结构 不支持继承类数据成员 是包含类的数据--字段、常量和事件的成员。函数成员提供了操作类中数据的某些功能,包括方法、属性、构造函数和终结器(finalizer)、运算符以及索引器ref参数 迫使值参数通过引用传...
分类:
其他好文 时间:
2014-08-22 17:48:09
阅读次数:
185
使用析构函数释放资源析构函数用于析构类的实例。1)不能在结构中定义析构函数。只能对类使用析构函数。2)一个类只能有一个析构函数。3)无法继承或重载析构函数。4)无法调用析构函数。它们是被自动调用的。5)析构函数既没有修饰符,也没有参数。例如,下面是类Car的析构函数的声明:[csharp]view ...
分类:
其他好文 时间:
2014-08-19 16:00:14
阅读次数:
293
GC提供了另外一个能够给你带来好处的功能:终结器。在一个资源被回收后,终结器允许一个优雅的清理操作。使用终结器,当GC释放资源所占的内存时,它们可以进行适当的自我清理。表面上,终结器看起来直接了当:你创建一个带终结器的对象,当它被回收时,终结器被调用。实际上,有更多的操作你看不到。...
分类:
Web程序 时间:
2014-07-08 10:54:07
阅读次数:
318