看一下这个简单的 C# 程序:
using System;
namespace testProgram
{
internal class Program
{
static void Main(string[] args)
{
List<string> list = new List<string>();
list.Add("List element.");
Console.WriteLine(list[0]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
List element.
Run Code Online (Sandbox Code Playgroud)
您可以看到它使用了一个列表。我总是在互联网上看到,为了使用列表,我需要添加“using System.Collections.Generic;” 在我的文件的开头。但是,没有这行代码,程序也能运行,为什么呢?
Jon*_*eet 11
查看您的项目文件。我强烈怀疑其中会包括以下内容:
<ImplicitUsings>enable</ImplicitUsings>
Run Code Online (Sandbox Code Playgroud)
该ImplicitUsings功能描述如下:
该
ImplicitUsings属性可用于global using在面向 .NET 6 或更高版本以及 C# 10 或更高版本的 C# 项目中启用和禁用隐式指令。启用该功能后,.NET SDK 会global using根据项目 SDK 的类型添加一组默认命名空间的指令。将此属性设置为true或enable以启用隐式global using指令。要禁用隐式global using指令,请删除该属性或将其设置为false或disable。
请注意,这意味着您也不需要using System;。
结合顶级语句,您的整个文件实际上可能是:
List<string> list = new List<string>();
list.Add("List element.");
Console.WriteLine(list[0]);
Run Code Online (Sandbox Code Playgroud)
或者,如果命名空间对您很重要:
namespace testProgram;
List<string> list = new List<string>();
list.Add("List element.");
Console.WriteLine(list[0]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
214 次 |
| 最近记录: |