介紹
若您是一位 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 留言