当我使用C#编写我的第一个asp.net MVC应用程序时,我发现有一些变量的名称以下划线字符(_)开头。
这意味着什么?这有什么特殊含义吗?
当我使用C#编写我的第一个asp.net MVC应用程序时,我发现有一些变量的名称以下划线字符(_)开头。
这意味着什么?这有什么特殊含义吗?
在语言上并没有定义这样的含义,它只是一种惯例,有些人用它来区分实例变量和局部变量。其他变化包括m_foo(以及s_foo或g_foo或静态变量)或mFoo;另外,有些人喜欢给局部变量(和参数)加上前缀而不是实例变量。
个人而言,我不使用这样的前缀,但这是一种风格选择。只要在同一项目上工作的每个人都保持一致,通常不会有太大问题。我见过一些非常不一致的代码...
一般来说,这意味着私有成员变量。
在变量名 _val
前面添加下划线只是一种惯例。在C#中,当定义公共属性的私有成员变量时使用它。
我要补充一下 @Steven Robbins 说的:
private string _val;
public string Values
{
get { return _val;}
set {_val = value;}
}
使用''开头的实例属性有另一个优点,它会首先出现在Intellisense中。
创建值/模型/POCO类时,不使用''。
我曾看到它被用作参数的变量名,这些参数并没有被用作函数的一部分,而是作为一种“隐藏”它们的方式。
我不能说这是好事还是坏事,但它有效地表明了该参数不应在函数中使用。