有点不寻常......但我想知道是否有人知道如何将保留字声明为变量。我有以下代码,但它不喜欢我使用长变量名。我知道我可以重命名它,但对于instrest sakes,我想知道这是否可能。
private string lat;
private string long;
public string Lat
{
get
{
return lat;
}
}
public string Long
{
get
{
return long;
}
}
答案 0 :(得分:98)
是的,如果真的想要:
,你可以private string @long;
变量的实际名称(由反射等报告)仅为long
; @
符号告诉编译器忽略它也是关键字的事实。
答案 1 :(得分:8)
正如其他人所提到的,您可以使用@
转义保留字。
在你的例子中,你真的不需要,我会写这样的属性:
private string _long;
public string Long
{
get
{
return _long;
}
}
下划线和大写L使它编译。
但是把它们称为Lat和 Lon ,甚至更好:纬度和经度是一种传统。
答案 2 :(得分:4)
是的,你可以。使用@符号。
这将起作用,例如:private string @long;
强烈建议不要这样做,但这是可能的。
答案 3 :(得分:1)
我不知道答案,因为我会避免使用保留字作为变量名,但如果你坚持,那么至少要使用以下内容:
private string lat;
private string @long;
public string Lat
{
get
{
return this.lat;
}
}
public string Long
{
get
{
return this.long;
}
}
答案 4 :(得分:1)
我可能会迟到这个派对,但我想我会扔另一个地方,使用保留字作为变量名是个好主意!!
我正在编写一个Web控件,我希望其中一个属性与其他元素具有“class”属性的方式类似“class”。
所以,确实我会将我的属性设为:“public string @class {get {} set {}}”