You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何无需添加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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 05:42:36