const和readonly区别?

const:

  1、编译时赋值,不可以在运行时改变其值;

  2、常量字段自动成为静态字段,但不可以显示的声明为static;

readonly:

  1、可以在执行时赋值,但只能在构造函数中改变其值;

  2、只能用于字段,不能用于局部变量里;

  3、可以声明为static的;

  4、将readonly应用于数组,不会冻结数组的内容,只会冻结数组中元素的个数;

    因为无法将只读字段重新赋值为一个新的实例;

   public readonly string[] arr =new string[] { "1", "2" };

   //构造函数
        public Program()
        {
            this.arr = new string[] { "3", "4" };            
        }

posted on 2011-05-27 10:28  .net 虾米  阅读(268)  评论(0)    收藏  举报

导航