定義壹個範圍,將在此範圍之外釋放壹個或多個對象。
語法
using (Font font1 = new Font("Arial", 10.0f))
{
}
備註
C# 通過 .NET Framework 公***語言運行庫 (CLR) 來自動釋放用來存儲不再需要的對象的內存。內存的釋放具有不確定性;壹旦 CLR 決定執行垃圾回收,就會釋放內存。但是,通常最好盡快釋放諸如文件句柄和網絡連接這樣的有限資源。
using 語句允許程序員指定使用資源的對象應當何時釋放資源。為 using 語句提供的對象必須實現 IDisposable 接口。此接口提供了 Dispose 方法,該方法將釋放此對象的資源。
可以在到達 using 語句的末尾時,或者在該語句結束之前引發了異常並且控制權離開語句塊時,退出 using 語句。
可以在 using 語句中聲明對象(如上所示),或者在 using 語句之前聲明對象,如下所示:
Font font2 = new Font("Arial", 10.0f);
using (font2)
{
// use font2
}
可以有多個對象與 using 語句壹起使用,但是必須在 using 語句內部聲明這些對象,如下所示:
using (Font font3 = new Font("Arial", 10.0f),
font4 = new Font("Arial", 10.0f))
{
// Use font3 and font4.
}
示例
下面的示例顯示用戶定義類可以如何實現它自己的 Dispose 行為。註意類型必須從 IDisposable 繼承。
using System;
class C : IDisposable
{
public void UseLimitedResource()
{
Console.WriteLine("Using limited resource...");
}
void IDisposable.Dispose()
{
Console.WriteLine("Disposing limited resource.");
}
}
class Program
{
static void Main()
{
using (C c = new C())
{
c.UseLimitedResource();
}
Console.WriteLine("Now outside using statement.");
Console.ReadLine();
}
}
C# 語言規範
有關更多信息,請參見 C# 語言規範中的以下各章節:
5.3.3.17 Using 語句
8.13 using 語句
請參見
參考
C# 關鍵字
extern(C# 參考)
命名空間關鍵字(C# 參考)
using 指令(C# 參考)
概念
C# 編程指南
命名空間(C# 編程指南)
其他資源
C# 參考
實現 Finalize 和 Dispose 以清理非托管資源