我写了类定义
public class Item
{
public double? 30dhi { get; set; }
public double? 30dlo { get; set; }
public double? 7dhi { get; set; }
public double? 7dlo { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
为什么它不允许我添加包含字母数字键的属性错误如下所示
类,结构或接口成员声明的无效标记'30d'
为什么它不允许我添加具有字母数字键的属性
属性名称必须是标识符.C#中的标识符不能以数字开头.您可以在第一个字符后面有一个数字,但不能作为第一个字符.
有关标识符允许的详细信息,请参阅C#5规范的第2.4.2节.完整的语法太长了,无法在这里发布,但关键部分是:
identifier-or-keyword:
identifier-start-character identifier-part-characters optidentifier-start-character:
letter-character
_(下划线字符U + 005F)identifier-part-characters:
identifier-part-character
identifier-part-characters identifier-part-characteridentifier-part-character:
字母字符
十进制数字符
连接字符
组合字符
格式字符字母字符:
类Lu,Ll,Lt,Lm,Lo或Nl的Unicode字符表示类Lu,Ll,Lt,Lm,Lo或Nl
的字符的unicode-escape-序列
请注意,这个示例30d很好,为什么不允许它 - 实际上是数值文字,值为30和类型double.(实际上你已经得到30dhi了,但是解析器已经解析30d为一个令牌.)