创建一个以数字开头的属性

时间:2013-12-23 17:59:49

标签: c# .net class

为什么我不能在数字或特殊字符开头的类中创建属性?

P.S。我是c#

的新手
public class Test
{
 public int 1property {get;set;}
}

4 个答案:

答案 0 :(得分:22)

如果您喜欢我,并且您正在搜索此内容,因为您想要从名为以数字开头的属性的第三方API反序列化JSON:

using Newtonsoft.Json;
public class ThirdPartyAPIResult
{
    [JsonProperty("24h_volume_usd")]
    public double DailyVolumeUSD { get; set; }
}

答案 1 :(得分:13)

因为C#语言规范(特别是第2.4.2节)声明你不能。

在确定给定标记是否是标识符的字面数方面,它还使解析器更容易。标识符中可以包含数字,它们不能以数字开头。任何标识符的第一个字母必须是字符或下划线字符(_)。

答案 2 :(得分:7)

Identifier/Property Names cannot start with integer values.请考虑以下备选方案:

public class Test
{
     public int PropertyOne {get;set;}
     public int Property1 {get;set;}
     public int Property_1 {get;set;}
}

答案 3 :(得分:5)

根据C#标识符规则 - 标识符不能以数字开头。

因此,您无法以数字开头创建variablenameclassnamemethodnameinterfacenamepropertyname

但标识符可以以underscore开头。

试试这个:

public class Test
{
    public int _1property {get;set;}
}