2017年9月27日 星期三

C# : using 陳述式使用練習

根據微軟官方的文件說明
提供方便的語法,以確保正確使用 IDisposable 物件
對於有使用到非受管理記憶體或者資源的類別,他們通常都會實作 IDisposable 介面,當我們不再需要使用到這些類別所產生的物件的時候,建議手動執行這些物件的 Dispose() 方法,讓這些非受到管理的記憶體與資源可以受到釋放,並且也縮短這個物件停留在受管理執行階段的記憶體存留時間。
對於像是有實作 IDisposable 介面的物件,我們可以使用 using 陳述式,這個語法糖,幫助我們簡化與確實確認在該物件不再使用的時候(不論在執行階段是否有例外異常發生),都會執行 Dispose() 方法。
在底下的程式碼,我們可以知道,HttpClient 有實作 IDisposable 介面,因此,在建立這個物件的當時,我們就使用 using 陳述式將其包起來;當這個區塊程式碼結束執行之後,就會立即執行 client.Dispose() 方法。
+

using (var client = new HttpClient())
{
    var content = client.GetStringAsync("http://www.google.com").Result;
    Console.WriteLine(content);
}

Console.WriteLine($"Press any key for continuing...{Environment.NewLine}");
Console.ReadKey();

沒有留言:

張貼留言