.net里盗用了JAVA的垃圾回收的概念。不需要你去想怎么释放一个对象,系统自动会回收。非要回收的话请参见 using 语句定义一个范围,在此范围的末尾将处理对象。using (expression | type identifier = initializer) { } 此处: expression 希望在退出 using 语句时调用 Dispose 的表达式。 type identifier 的类型。 identifier type 类型的名称或标识符。定义一个以上 type 类型的identifier 是可以的。在每一个 identifier = initializer 的前边都有一个逗号。 initializer 创建对象的表达式。 备注 在 using 语句中创建一个实例,确保退出 using 语句时在对象上调用 Dispose。当到达 using 语句的末尾,或者如果在语句结束之前引发异常并且控制离开语句块,都可以退出 using 语句。实例化的对象必须实现 System.IDisposable 接口。示例 // cs_using_statement.cs // compile with /reference:System.Drawing.dll using System.Drawing; class a { public static void Main() { using (Font MyFont = new Font("Arial", 10.0f), MyFont2 = new Font("Arial", 10.0f)) { // use MyFont and MyFont2 } // compiler will call Dispose on MyFont and MyFont2 Font MyFont3 = new Font("Arial", 10.0f); using (MyFont3) { // use MyFont3 } // compiler will call Dispose on MyFont3 } }
调用FINALIZE方法(可重写)
还是一个好习惯
using 语句定义一个范围,在此范围的末尾将处理对象。using (expression | type identifier = initializer)
{
}
此处: expression
希望在退出 using 语句时调用 Dispose 的表达式。
type
identifier 的类型。
identifier
type 类型的名称或标识符。定义一个以上 type 类型的identifier 是可以的。在每一个 identifier = initializer 的前边都有一个逗号。
initializer
创建对象的表达式。
备注
在 using 语句中创建一个实例,确保退出 using 语句时在对象上调用 Dispose。当到达 using 语句的末尾,或者如果在语句结束之前引发异常并且控制离开语句块,都可以退出 using 语句。实例化的对象必须实现 System.IDisposable 接口。示例
// cs_using_statement.cs
// compile with /reference:System.Drawing.dll
using System.Drawing;
class a
{
public static void Main()
{
using (Font MyFont = new Font("Arial", 10.0f), MyFont2 = new Font("Arial", 10.0f))
{
// use MyFont and MyFont2
} // compiler will call Dispose on MyFont and MyFont2 Font MyFont3 = new Font("Arial", 10.0f);
using (MyFont3)
{
// use MyFont3
} // compiler will call Dispose on MyFont3 }
}