为何无需添加using System.Collections.Generic;仍可使用C# List?
为什么未添加
using System.Collections.Generic;的C#程序仍能正常使用List? 请看以下简单的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]); } } }
输出:
List element.
通常使用List<T>类需要在文件开头添加using System.Collections.Generic;指令,但上述程序未添加该指令仍能正常运行,这是为什么?
这是因为你的项目启用了隐式using指令(Implicit Usings)特性,这是.NET 6及更高版本SDK的默认配置:
- 隐式using会自动为项目添加一系列常用的命名空间引用,其中就包含
System.Collections.Generic,所以无需手动声明该using指令就能直接使用List<T>。 - 你可以打开项目的
.csproj配置文件,查看是否存在<ImplicitUsings>enable</ImplicitUsings>条目——如果有,就说明该特性处于启用状态。若将其修改为<ImplicitUsings>disable</ImplicitUsings>,则必须手动添加using System.Collections.Generic;才能使用List<T>类。 - 退一步说,即使没有隐式using,你也可以通过书写完全限定名
System.Collections.Generic.List<string>来使用该类,只是这种写法不如隐式using简洁。
内容的提问来源于stack exchange,提问作者SpaceChaton
相关产品推荐
相关产品推荐

