在C#中创建List为何触发“顶级语句预览版不支持”错误?
问题分析与解决办法
嘿,别被错误提示带偏啦!这个问题和List<string>完全没关系——它确实是C#里的成熟特性,出错的根源是你用了顶级语句(top-level statements),但项目的语言版本配置不对导致的。
你写的代码直接把变量声明放在了命名空间/类的外面:
using System; using System.Collections.Generic; List<string> stringList = new List<string>();
这种写法就是顶级语句,它在C# 9.0及以后的版本才正式成为非预览特性。如果你的项目当前语言版本低于9.0,或者不小心启用了预览模式但没正确配置,就会弹出这个错误。
解决办法有两个,选一个适合你的:
方法一:升级项目的语言版本
右键你的项目 → 选择「属性」→ 切换到「生成」标签页 → 点击右下角的「高级」按钮 → 在「语言版本」下拉框里选择C# 9.0或更高版本(比如最新的C# 12),别选带「预览」字样的选项,确定后重新编译就好了。方法二:改用传统的代码结构(不用顶级语句)
如果你不想调整语言版本,把代码放到类的Main方法里就行,这是C#一直以来的标准写法:using System; using System.Collections.Generic; namespace YourProjectName { class Program { static void Main(string[] args) { List<string> stringList = new List<string>(); } } }
这样就能解决这个错误啦,本质就是代码写法的语言版本支持问题,和List完全无关~
内容的提问来源于stack exchange,提问作者Crocs123
相关产品推荐
相关产品推荐

