有志者、事竟成,破釜沉舟,百百二秦关终属楚;苦心人、天不负,卧薪尝胆,三千越甲可吞吴。

拂晓犬吠

学习中遇到困难是很正常的事情,不要苦恼,不要气馁,恰恰相反,应该兴奋,因为又学到知识了,需要不断提高自己应对问题和解决问题的能力和信心。

第六章类(十九)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

posted @ 2019-12-12 17:31  ID拂晓犬吠  阅读(350)  评论(0编辑  收藏  举报