在C#中使用长保留字作为变量名

时间:2010-05-07 10:06:58

标签: c#

有点不寻常......但我想知道是否有人知道如何将保留字声明为变量。我有以下代码,但它不喜欢我使用长变量名。我知道我可以重命名它,但对于instrest sakes,我想知道这是否可能。

private string lat;
private string long;

public string Lat 
{ 
    get
    {
        return lat;                
    }
}

public string Long 
{ 
    get
    {
        return long;
    }
}

5 个答案:

答案 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 {}}”