使用 const 关键字声明常量字段或局部常量。常量字段和局部常量不是变量,不能修改。常量可以是数值、布尔值、字符串或 null 引用。不要创建一个常量来表示您希望随时更改的信息。例如,不要使用常量字段来存储产品的价格、产品版本号或公司的品牌名称。这些值可能会随着时间的推移而改变,而且由于编译器传播常量,因此必须重新编译使用库编译的其他代码才能看到这些变化。
const double C日地距离 = 150000000;
public const double C引力系数 = 9.8;
private const string C称呼 = "太太";
如果使用的所有表达式也是常量字符串,则插入的字符串可以是常量。这个特性可以改进构建常量字符串的代码:
const string Cmy = "我的";
const string Ctt = "太太";
const string C全名 = $"把{Cmy}酒拿来,{Ctt}!";
Console . WriteLine ( C全名 );
上例输出:
把我的酒拿来,太太!
注解
常量声明的类型指定该声明引入的成员的类型。局部常量或常量字段的初始化项必须是可以隐式转换为目标类型的常量表达式。
常数表达式是可以在编译时完全求值的表达式。因此,引用类型的常量唯一可能的值是字符串和 null 引用。
常量声明可以声明多个常量,例如:
const string Cmy = "我的" , Ctt = "太太" , C全名 = $"把{Cmy}酒拿来,{Ctt}!";
在常量声明中不允许使用 static 修饰符。
常数可以参与常数表达式,如下所示:
public const int C5 = 5;
public const int C105 = C5 + 100;
注意:readonly 关键字不同于 const 关键字。const 字段只能在声明时初始化。readonly 字段可以在声明时初始化,也可以在构造函数中初始化。因此,readonly 字段可以有不同的值,这取决于所使用的构造函数。另外,虽然 const 字段是编译时常量,但 readonly 字段可以用于运行时常量,如下行所示:
public static readonly uint Cticks =
( uint ) DateTime . Now . Ticks;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。