readonly和const
来源:互联网 发布:mac照片如何导入iphone 编辑:程序博客网 时间:2024/06/06 07:52
readonly作用类似于声明一个字段为const,一旦值被设定就不能改变。
1.const字段只能在字段的声明语句中初始化,不能在声明后给它赋值。而readonly字段可以在字段声明语句中赋值,也可以在类的任何构造函数中赋值(如果是static字段,必须在static构造函数中完成初始化)。
2.const没有自己的存储位置,而是在编译时被编译器替换(const成员表现很像一个静态量,但不能声明为static的原因)。所以它的值必须在编译期决定。而readonly字段的值可以在运行期决定。它在内存中有位置。所以允许在不同的环境或者不同的构造函数中设置不同的值。
3.const总是像静态的,它们对于每个实例都是可见的,而且即使没有类的实例也可以使用。readyonly可以是静态字段也可以是实例字段。
Demo:
class Shape { //初始化 readonly double PI = 3.1416; //未初始化 readonly int NumberOfSides; public Shape(double side1, double side2) { //表示一个矩形 NumberOfSides = 4; //......some code } public Shape(double side1, double side2, double side3) { //表示一个三角形 NumberOfSides = 3; //......some code } }
- const、readonly和static
- const和readonly概述
- const和readonly
- const和readonly
- const 和 readonly 区别
- const和readonly区别
- readonly和const比较
- readonly和const比较
- const和readonly
- const、readonly和static
- readonly和const
- const,static和readonly
- readonly和const
- const和readonly区别
- const和readonly
- const和readonly小结
- C# const和readonly
- const和readonly 小结
- 基数排序
- 一些比较重要的算法
- hdu 1394 Minimum Inversion Number
- MySQL技术内幕:InnoDB存储引擎读书笔记(下)
- stateCheck
- readonly和const
- linux信号机制之sigaction结构体浅析,signal 函数,信号捕捉
- InnoDB 作为默认存储引擎(从mysql-5.5.5开始)
- tomcat 登录时用户名和密码问题
- java上机 第七周 任务1 封装和继承
- hdu 1754 I Hate It
- xx年xx月xx日xx时xx分xx秒——版本1
- N个鸡蛋放M个篮子,每个篮子不空,保证提不同组合的篮子能取出1至N个鸡蛋
- asp.net中两款文本编辑器NicEdit和Kindeditor