Visual Studio 2022名称含<>?C#标识符能否用尖括号及语法版本
问题解答
1. Visual Studio 2022的变量命名能不能用尖括号?
不行。Visual Studio 2022完全遵循C#语言的标识符规则,自定义变量名里不能直接写<>。你看到的那个带尖括号的变量,是编译器自动生成的,不是手动能定义出来的合法名称。
2. C#标识符允许用尖括号吗?
手动编写的标识符绝对不能用尖括号。尖括号是C#里的语法符号,专门用来声明泛型类型(比如Dictionary<string, int>)、调用泛型方法,不属于标识符的合法字符。
但有个特殊情况:编译器自动生成的“合成成员”(比如自动属性的后备字段)可以用这类特殊字符命名。你看到的<Encoder>k__BackingField就是自动属性对应的后备字段,是编译器内部生成的,开发者自己写代码时这么命名会直接报错,因为不符合用户自定义标识符的规则。
3. 对应C#语法版本
从C# 3.0引入自动属性特性开始,编译器就会生成这类带尖括号的合成后备字段。之后所有C#版本(包括VS2022支持的C# 8到12版本)都保持这个规则:开发者不能手动用尖括号定义标识符,只有编译器自动生成的成员可以用这类特殊命名。
内容的提问来源于stack exchange,提问作者Bilin Vance
相关产品推荐
相关产品推荐

