const是一个静态的常量,必须在创建时进行初始化且无法改变
readonly不是静态的,在创建时的初始化是可选的,并且可以在构造函数中对其进行操作
class Program
{
readonly static int a;
const int b = 3;
static Program()
{
a = 1;
a = 2;
a++;
}
static void Main(string[] args)
{
Console.WriteLine(a);
}
}
需要注意的是
这段代码中为了在控制台中显示直接将readonly定义为静态
故只能在静态的构造函数中为其重新赋值