只读字段
字段可以使用关键字readonly修饰。这样的字段一旦构建完成实例后就不能再更改了。
不同于常量,只读因为可以使用变量赋初始值,而初始值来源可能是个随机数。
所以只读字段也是不确定的。
小兵 a = new 小兵();
a.hp = 100;
class 小兵
{
public readonly int hp;
public int atk;
public int def;
}
但还是要注意有关引用类型的问题。
为引用类型加只读,只是防止别人修改密码,但不能阻止别人登进去毁号。
class 小兵
{
public readonly int hp;
public int atk;
public int def;
public readonly int[] arr = new int[1];
public void CW0()
{
Console.WriteLine(arr[0]);
}
}