static readonly int A = 2 * B; static readonly int B = 4; static void Main(string[] args) { Console.WriteLine("A={0},B={1}", A, B); Console.Read(); }
A=0 B=4
const int A = 2 * B; const int B = 4; static void Main(string[] args) { Console.WriteLine("A={0},B={1}", A, B); Console.Read(); }
A=8,b=4
const修饰的常量在编译期间就被解析,即常量值被替换成初始化的值,readonly修饰的常量则延迟到运行的时候
const修饰的常量在声明的时候必须初始化,readonly修饰的常量则可以延迟到构造函数中初始化。
原文:http://www.cnblogs.com/Rikybk/p/3600468.html