C#中只读成员

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

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;}
	}
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值