C#using意思

在C#中,using關鍵字有三種不同的用途:

  1. using指令:用於在程式中包含命名空間的定義。這使得你可以在代碼中使用該命名空間中的類型,而不必顯式地加上命名空間的前綴。
using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Hello World!"); // 可以直接使用Console,因為using System;已經導入了System命名空間。
    }
}
  1. using語句:用於確保在語句塊執行完成時,由new表達式創建的資源會被及時釋放。這通常用於確保IDisposable對象在完成其用途後會被Dispose方法正確釋放。
using (FileStream stream = new FileStream("example.txt", FileMode.Open))
{
    byte[] buffer = new byte[1024];
    int bytesRead;
    while ((bytesRead = stream.Read(buffer, 0, buffer.Length)) > 0)
    {
        // 處理讀取的數據
    }
}
// 即使發生異常,stream也會被正確地關閉,因為using語句會確保Dispose方法的調用。
  1. using靜態指令:用於指定一個或多個靜態成員,這些成員不需要使用類型就可以直接訪問。這通常用於簡化對靜態方法的訪問。
using static System.Math; // 現在可以直接使用Math.Sin()、Math.Cos()等靜態方法,而不必寫成System.Math.Sin()。

class Program
{
    static void Main()
    {
        double angle = 45;
        double sine = Sin(angle); // 可以直接使用Sin方法,因為using static已經導入了System.Math命名空間。
    }
}

在使用using關鍵字時,需要注意using語句和using指令的區別,以及using語句中的資源對象必須實現IDisposable接口,以便在using塊執行完成後能夠正確地釋放資源。