using 變數宣告變得更簡潔。
本篇文章使用環境
開發環境 Visual Studio 2019 Preview 4 (16.0.0 Preview 4)
框架 .NET Core 3.0.100-preview-010184
編譯器 C# 8.0 beta
開發環境 Visual Studio 2019 Preview 4 (16.0.0 Preview 4)
框架 .NET Core 3.0.100-preview-010184
編譯器 C# 8.0 beta
C# 8.0 在 using 宣告上做了一個讓程式碼更簡潔的改變。在過去,必須要使用 {} 明確地定義出 using 的作用範圍,例如:
static void Save(IEnumerable<string> lines)
{
using (var file = new System.IO.StreamWriter("file1.txt"))
{
foreach (string line in lines)
{
if (!line.Contains("Second"))
{
file.WriteLine(line);
}
}
}
}
在 C# 8.0 後,自動會將其作用範圍視作從宣告處直到該方法結束前,說半天就是它會自動在方法結束前補上 Dispose() 呼叫:
static void Save(IEnumerable<string> lines)
{
using var file = new System.IO.StreamWriter("file1.txt");
foreach (string line in lines)
{
if (!line.Contains("Second"))
{
file.WriteLine(line);
}
}
// 在方法結束前將會呼叫 file.Dispose();
}
如果需要在非方法結束前的其他位置就呼叫 Dispose 的話,那還是乖乖採用舊方法,明確宣告其作用範圍。
註:2019/4/9 , Larry 提醒我應該修改一下 using 的部分,thanks。