介紹
若您是一位 C# Developer,應該對於 using statement 並不陌生。在 C# 8.0 內,您可以使用新的 using declaration 功能,透過 using 關鍵字宣告一個物件而不需要主動設定範圍,而在超過特定範圍時讓物件被 dispose。下列是 using statement 範例 (從程式碼 11 行 - 24 行,透過 { } 介定範圍)
List<string> lines = new List<string>
{
"First Line",
"Second Line",
"Third Line"
};
int skippedLines = 0;
using (var file1 = new System.IO.StreamWriter("Sample.txt"))
{
foreach (string line in lines)
{
if (!line.Contains("Second"))
{
file1.WriteLine(line);
}
else
{
skippedLines++;
}
}
}
而 using declaration 不需要宣告物件的範圍,由編譯器自行處理,下列是 using declaration 範例( 範圍從 11 行 ~ 22 行,但不需要透過 { } 介定範圍
List<string> lines = new List<string>
{
"First Line",
"Second Line",
"Third Line"
};
int skippedLines = 0;
using var file2 = new System.IO.StreamWriter("Sample.txt");
foreach (string line in lines)
{
if (!line.Contains("Second"))
{
file2.WriteLine(line);
}
else
{
skippedLines++;
}
}
透過圖片比較容理解: using declaration 的範圍如下圖紅色箭頭:
倘若你的方法很小,且 using declarations 範圍不大,則使用 using declarations 是不錯的選擇。






0 留言