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

use*_*411 10 .net c# class

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

PS我对c#有点新手#

public class Test
{
 public int 1property {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

DrS*_*lis 24

如果你像我一样,并且你正在搜索这个,因为你想要从名为以digits开头的属性的第三方API反序列化JSON:

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


Ser*_*rvy 15

因为C#语言规范(具体来说,第2.4.2节)说明你不能.

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


xan*_*ded 7

标识符/属性名称不能整数值开头.考虑以下备选方案:

public class Test
{
     public int PropertyOne {get;set;}
     public int Property1 {get;set;}
     public int Property_1 {get;set;}
}
Run Code Online (Sandbox Code Playgroud)


Sud*_*udi 5

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

所以,你不能创建variablename,classname,methodname,interfacenamepropertyname以一个数字开始.

但标识符可以从一开始underscore.

试试这个:

public class Test
{
    public int _1property {get;set;}
}
Run Code Online (Sandbox Code Playgroud)