C# const / static / readonly

const

const定义的是静态常在对象初始化的时候赋值,以后不能改变它的值,属于编译时常量。

staitc

static 定义的是静态变量,可以再外部改变它的值。

readonly

readonly 是只读变量.属于运行时变量,可以在类初始化的时候改变它的值。

Note

const 和 static 不能在一起用。

const和static readonly的确非常像,通过类名而不是对象名进行访问,在程式中只读等等。

在多数情况下能混用。二者本质的差别在于,const的值是在编译期间确定的,因此只能在声明时通过常量表达式指定其值。而static readonly是在运行时计算出其值的,所以还能通过静态构造函数来赋值。

你可能感兴趣的:(C#)