C#中只读成员

来源:互联网 发布:usb网络电视接收棒 编辑:程序博客网 时间:2024/05/22 14:04

只读成员包括只读字段和只读属性。如果不希望在初始化后修改数据成员,就可以把他们变成只读成员。

1、只读字段

介绍:声明时使用 readonly修饰,放在类型前,与static 可以更换修饰顺序,只能在构造函数中分配值。

区分:实例字段,静态字段,只读实例字段,只读静态字段,常量

public class MyClass{// 实例字段,可以在类的外部改变他的值public  int aa = 3;// 静态字段,可以通过类名访问,也可以在类外修改public  static int dd = 3;// 只读实例字段,尽管是公有的,除了本类(注意:只有本类,子类是只读)的构造函数,其他地方只读public  readonly int bb = 3;// 只读静态字段,只能在静态构造函数中做初始化,其他地方只读public  static readonly  int bb1 = 3;// 常量(隐式静态的),不能加上static修饰符,在类外可以通过类名访问public  const int cc = 3;public MyClass(){// 在构造函数中,可以对只读实例字段进行赋值bb = 4;}static MyClass(){// 在静态构造函数中,可以对只读静态字段进行赋值bb1 = 5;}}

变量与常量相关介绍:点击打开链接

静态构造函数介绍链接:点击打开链接

2、只读属性

介绍:只有get,没有set,只可以读取,只能在构造函数中赋值。

public class Monkey{// 私有字段,表示猴子的腿的数量private int num;// 只读属性,(只有get,没有set),只允许在构造函数中初始化属性的值public int GetNum{get{return num;}}}



原创粉丝点击