當前位置:編程學習大全網 - 編程語言 - 詳細說壹下C#中using自動釋放資源的用法

詳細說壹下C#中using自動釋放資源的用法

using 語句(C# 參考)

定義壹個範圍,將在此範圍之外釋放壹個或多個對象。

語法

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 以清理非托管資源

  • 上一篇:擴展名為 .xls 的文件用什麽打開?急啊 謝謝
  • 下一篇:宇宙中的超級泰坦 既有大氣又有水 寶藏星球土衛六
  • copyright 2024編程學習大全網