基本的变量命名规则如下:
变量名的第一个字符必须是字母、下划线(_)或@。
其后的字符可以是字母、下划线或数字。
另外,有一些关键字对于C#编译器而言有特定的含义,例如前面出现的using和namespace关键字。如果错误地使用其中一个关键字,编译器会产生一个错误,我们马上就会知道出错了,所以不必担心。
例如,下面的变量名是正确的:
myBigVar VAR1 _test 下列变量名不正确: 99BottlesOfBeer namespace It's-All-Over 记住,C#是区分大小写的,所以必须小心,不要忘了在声明变量时使用正确的大小写。在程序中引用它们时,即使只有一个字母的大小写形式出错,都不能编译成功。其进一步的结果是得到多个变量,其名称仅有大小写的区别,例如,下面的变量都是不同的: myVariable MyVariable MYVARIABLE
命名约定
变量名是比较常用的,所以有必要用一定的篇幅讨论几种要用到的变量名称。在开始前,要记住这是有争议的。多年以来,出现了不同的系统,一些开发人员拼命维护他们的个人系统。
最近,最流行的系统是所谓的Hungarian记号法。这个系统在所有的变量名上加上一个小写形式的前缀,表示其类型。例如,如果变量的类型是int,就在其名称前加上i(或n),如iAge。使用这个系统,很容易看出各个变量是什么类型的。
更现代的语言如C#则很难实现这个系统。与前面介绍的所有类型一样,可以用一两个字母前缀表示变量的类型。但由于可以创建自己的类型,而且在.NET Framework中有上百种更复杂的类型,所以这种系统很快就失效了。在多人完成的项目中,不同的人很容易遇到易混淆的不同前缀,它们可能导致灾难性的后果。
开发人员现在认识到,最好根据变量的作用来命名它们。如果出现问题,就很容易确定变量的类型。在VS和VCE中,只需把鼠标指针在变量名上停留足够长的时间,就会弹出一个方框,说明该变量的类型。
目前,在.NET Framework名称空间中有两种命名约定,称为PascalCase和camelCase。在名称中使用的大小写表示它们的用途。它们都应用到由多个单词组成的名称中,并指定名称中的每个单词除了第一个字母大写外,其余字母都是小写。在camelCasing中,还有一个规则,即第一个单词以小写字母开头。
下面是camelCase变量名:
age firstName timeOfDeath下面是PascalCase变量名: Age LastName WinterOfDiscontentMicrosoft建议:对于简单的变量,使用camelCase规则,而对于比较高级的命名则使用PascalCase。最后,注意许多以前的命名系统常常使用下划线字符作为变量名中各个单词之间的分隔符,如yet_another_variable。但这种用法现在已经淘汰了。