Domanda Usa la parola lunga riservata come nome di variabile in C #


un po 'insolito .. ma mi stavo chiedendo se qualcuno sapesse come posso dichiarare una parola riservata come variabile. Ho il seguente codice, ma non mi piace il mio uso del nome della variabile lunga. So che potrei rinominarlo, ma per motivi di istruzione vorrei sapere se questo è possibile.

private string lat;
private string long;

public string Lat 
{ 
    get
    {
        return lat;                
    }
}

public string Long 
{ 
    get
    {
        return long;
    }
}

30
2018-05-07 10:06


origine


risposte:


Sì, puoi se tu veramente volere:

private string @long;

L'attuale nome della variabile (come riportato dalla riflessione ecc.) è giusta long; il @ il segno dice al compilatore di ignorare il fatto che è anche una parola chiave.

Tuttavia, raccomanderei fortemente questo contrario.


85
2018-05-07 10:08



Come altri hanno già detto, puoi sfuggire a una parola riservata con @.

Nel tuo esempio non ne hai davvero bisogno, vorrei scrivere la proprietà in questo modo:

private string _long;
public string Long 
{ 
    get
    {
        return _long;
    }
}

E il trattino basso e la L maiuscola lo fanno compilare.

Ma è una specie di tradizione chiamarli Lat e Lono anche meglio: latitudine e longitudine.


8
2018-05-07 10:16



Si, puoi. Usando il simbolo @.
Questo funzionerà, ad esempio: private string @long;
Fare questo è altamente sconsigliato, ma è possibile.


4
2018-05-07 10:09



Non una risposta, lo so, perché eviterò di usare parole riservate come nomi di variabili, ma se insisti, allora almeno utilizza il seguente:

private string lat;
private string @long;

public string Lat 
{ 
    get
    {
        return this.lat;                
    }
}

public string Long 
{ 
    get
    {
        return this.long;
    }
}

1
2018-05-07 10:14



Potrei essere in ritardo per questa festa, ma ho pensato di buttarmi in un altro posto dove usare una parola riservata come nome di variabile è una buona idea !!

Sto scrivendo un controllo web, in cui voglio che una delle proprietà sia "di classe" in un modo simile a come gli altri elementi hanno una proprietà di "classe".

Quindi, effettivamente farò in modo che la mia proprietà sia: "public string @class {get {} set {}}"


0
2017-07-12 02:50