常量
在声明和初始化变量时,在变量的前面加上关键字const,就可以把该变量指定为一个常量。顾名思义,常量是其值在使用过程中不会发生变化的变量:
const int a = 100; // This value cannot be changed
VB和C++开发人员会非常熟悉常量。但C++开发人员应注意,C#不支持C++常量的所有细微的特性。在C++中,变量不仅可以声明为常量,而且根据声明,还可以有常量指针,指向常量的变量指针、常量方法(不改变包含对象的内容),方法的常量参数等。这些细微的特性在C#中都删除了,我们只能把局部变量和字段声明为常量。
常量具有如下特征:
● 常量必须在声明时初始化。指定了其值后,就不能再修改了。
● 常量的值必须能在编译时用于计算。因此,不能用从一个变量中提取的值来初始化常量。如果需要这么做,应使用只读字段(详见第3章)。
● 常量总是静态的。但注意,不必(实际上,是不允许)在常量声明中包含修饰符static。
● 在程序中使用常量至少有3个好处:
● 常量用易于理解的清楚的名称替代了“含义不明确的数字或字符串”,使程序更易于阅读。
● 常量使程序更易于修改。例如,在C#程序中有一个SalesTax常量,该常量的值为6%。如果以后销售税率发生变化,可以把新值赋给这个常量,就可以修改所有的税款计算,而不必查找整个程序,修改税率为0.06的每个项。
● 常量更容易避免程序出现错误。如果要把另一个值赋给程序中的一个常量,而该常量已经有了一个值,编译器就会报告错误。