在学些ASP.NET中const 和 readonly它们又怎么样的分别?

readonly 表示只读,const 表示不变常量
 
    一、都是用来标识常量的
   
    二、const 必须在声明的同时赋值;
   
    readonly 可以在初始化的过程中赋值,因此,根据所使用的构造函数,readonly 字段可能有不同的值。
   
    三、const 字段是编译时常数,readonly 字段可用于运行时常数
   
    1.const 要求编译时计算出确定的值,去替换调用这个常数的每一个地方,因此,不能从变量中提取值来初始化常量
   
    2.readonly 是在计算时执行的,在运行时才确定的该值
   
    四、const 默认就是静态的,readonly 设置成静态的就必须显式声明
   
    五、const 修饰的引用类型只能是 string 或者值为 null 的其他引用类型
   
    六、object、array 和 struct 不能被声明为 const 常量
    
    七、readonly 只能用来修饰类的 field,不能修饰局部变量,也不能修饰 property 等其他类成员