c# 关键字const(字段,局部变量),readonly(字段,数组)

一、const

@1、const能修饰局部变量和字段(常量字段)。const变量的值在编译时就确定了,不可以在运行时改变。

@2、常量字段自动成为静态字段。因为不需要为每个对象实例都生成一个新的字段实例。但若将一个常量字段显示声明为static,会造成编译错误。

二、readonly

@1、只能用于字段。它指出字段值只能从构造器中更改,或直接在声明时指定。即在声明时指定了一个readonly字段的值后,这个值可以在构造器中更改为一个新值。

@2、readonly字段既可以是实例字段,也可以是静态字段。

@3、readonly应用于数组时,其不可更改性是指数组元素的数量一旦确定就不能在更改(除了在构造器中可以更改)即一旦声明好了一个readonly数组,就不允许再用new运算符来创建同一个数组的新实例,无论新实例的数组长度是否有变。但是,数组中每个元素的值是可以改变的。

例如:

class Employee

{

  public readonly  int[]  a=new int[6] {1,2,3,4,5,6};

  public void fun()

  {

   a[3]=30;//允许

   a=new int[8];//不允许

   a=new int[6];// 不允许

  }

}

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