2013-12-23 6 views

Antwort

9

Da die Sprache C# Spezifikationen (insbesondere Abschnitt 2.4.2), dass Sie nicht können.

Es vereinfacht auch den Parser in Bezug auf herauszufinden, ob ein gegebenes Token eine wörtliche Zahl eines Bezeichners ist. Identifikatoren können Nummern enthalten, sie dürfen nicht mit einer Zahl beginnen. Der erste Buchstabe eines Bezeichners muss ein Zeichen oder der Unterstrich sein (_).

5

Gemäß C# Kennung Regeln - Bezeichner können nicht mit einer Ziffer beginnen.

So können Sie nicht erstellen variablename, classname, methodname, interfacename oder propertyname mit einer Ziffer beginnen.

aber Identifier können mit underscore beginnen.

Try this:

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

Identifier/Property Names cannot start with integer values. folgende Alternativen vor:

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

Ich denke auch, dies ist die beste Antwort . Die meiste Zeit ist es besser, den numerischen/numerischen Wert entweder buchstabiert oder in numerischer Form zu ergänzen. Ziehen Sie auch eine ordinale Vorgehensweise wie "FirstObject", "SecondObject" in Betracht. In anderen Fällen kann es sinnvoll sein, sie anhand ihres Ursprungs zu unterscheiden, z. B. "SourceObject", "DestinationObject" oder "TargetObject". – Erik

9

Wenn Sie wie ich sind, und Sie hierfür waren auf der Suche, weil Sie JSON aus einem Dritt-API, die genannten Eigenschaften, beginnend mit Ziffern deserialisieren wollte:

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

Ich bin wie du .. Danke – SilentCoder

+0

Interessant. Meine problematische Eigenschaft hat denselben Namen. :) – user850010

Verwandte Themen