C#中using有兩種作用。1、作為指令,用於引用命名空間的,如using System.IO;
2、作為語句,using定義一個範圍,在退出using之後,在此範圍末尾之後便自動釋放對象,起到了自動釋放資源的作用。如下面筆者使用StreamWriter列的WriteLine方法先向指定文字檔寫入資料,然後調用streamReader的ReadToEnd方法從剛剛指定的文字檔中讀取資料。當使用using語句時,首先系統先為使用using的代碼塊分配資源,在出了using代碼塊後因為使用using語句,所以剛剛為代碼塊分配的資源就會自動釋放,主要就起到了自動資源釋放的作用,減少系統開銷。
static void Main(string[] args)
{
string strFile = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "\\Test.txt";
//指定在當前路徑下的Test.txt
try
{
//檢查檔案是否存在,如果存在先刪除,給指定的文字檔賦予新的內容
if (File.Exists(strFile))
{
File.Delete(strFile);
}
//執行個體化StreamWriter,並寫入資料到文字檔
using (StreamWriter sw = new StreamWriter(strFile))
{
sw.WriteLine("老當益壯,寧移白首之心!");
sw.WriteLine("窮且益堅,不墜青雲之志!");
}
//執行個體化StreamReader,並使用ReadToEnd方法從文字檔中從頭到尾讀取資料並輸出
using (StreamReader sr = new StreamReader(strFile))
{
Console.WriteLine(sr.ReadToEnd());
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}