第六章类(十九)readonly

Posted 158-186

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第六章类(十九)readonly相关的知识,希望对你有一定的参考价值。

  readonly英文译义是只读属性,在上篇与const的对比,是说

  1 在运行时为readonly字段赋值的,看到编译出来的CIL代码中readonly字段还是变量。

  同样是字段(面对对象的术语),const修饰是常量的意思,那么,又为何有readonly的出现呢?

  难道就是因为它是在运行时赋值的嘛?

  我们在之前的文字中理解过const从意思上讲是常量的意思,就是要描述不随着时间推移发生变化的事物。

  2 readonly就是只读的意思,另外它只能在构造函数中赋值或者声明时给它赋值,所以它是只能只应用于字段而不是局部变量。

  我在书籍资料中,有看到这样的文字,由于规范要求字段不要从起包容属性外部访问,所以从C#6.0起readonly修饰符几乎完全没有了用武之地。

  所以,我理解readonly就是区别const的意义。在C#6.0出现之前,是只读字段。

  3 const是静态的,readonly是可以修饰静态字段,也可以修饰实例字段。

  除了自己看书还摘取这个博主的内容https://www.cnblogs.com/chen-jie/p/10-differences-between-constant-vs-readonly-static-readonly-fields.html

以上是关于第六章类(十九)readonly的主要内容,如果未能解决你的问题,请参考以下文章

第六章类属性2命名规范

第六章类属性3提供属性验证只读和只写属性取值和赋值方法的访问修饰符

C#图解教程 第六章 深入理解类

ThinkPHP基础-----第六章(控制器相关)

第六章:继承

JS复习:第六章