Compiler Error CS0119:Case类型变量命名为case时编译报错原因咨询
CS0119错误触发原因
你遇到的编译错误核心原因是 case是C#的保留关键字,不能直接用作变量名。case是C#中switch分支结构的专用保留关键字,根据C#语言规范,保留关键字不允许直接作为变量、方法、类等自定义标识符使用。你报错的代码行Case case = new Case();里,第二个小写的case作为变量名刚好命中了这个限制,所以编译器抛出CS0119错误。
额外说明:C#是大小写敏感的语言,你定义的首字母大写的Case类名和小写的case关键字是完全独立的标识符,所以你的类名本身是完全合法的,不存在命名冲突问题。
解决方案
- 最推荐的方案就是你已经尝试的方式:更换为非关键字的变量名,比如可以用
caseItem、newCase、currCase这类可读性更高的名称,不会有任何后续问题 - 如果确实需要使用
case作为变量名,可以给变量名加@前缀转义,写法如下:
Case @case = new Case();
该写法可正常通过编译,但会大幅降低代码可读性,非必要不建议使用。
内容的提问来源于stack exchange,提问作者Tanya K.
相关产品推荐
相关产品推荐

