疑問
不知道有沒有發現新增 Console 應用程式後,
沒有任何的 using
,程式中就可以直接使用 Console.WriteLine("Hello, World!");
?
原因
那是因為 .NET 6(含以後版本)使用 C# 10 的global namespace imports,
會把常用的一些 namespace 自動 import 進來哦~
會加那些 namespace 呢?
可以從專案屬性中看到,如下,
專案內容中有設定ImplicitUsings
(隱含全域 Using),預設是為enable
1 | <ImplicitUsings>enable</ImplicitUsings> |
或是在建置專案後,可以查看 obj/Debug 目錄中的 {專案名稱}.GlobalUsings.g.cs
內容,
1 | // <auto-generated/> |
如果要加其他的 Global Using ,可以在csproj
檔案中加入,如下,
1 | <ItemGroup> |
參考資源
C# 主控台應用程式範本會產生最上層語句
Simplifying Namespace Imports in C# with Global Using Directives
C# 10.0 implicit global using directives
一百句,五十雙: 喻人說來說去都是這一套,沒有新意,一點建議性都沒有