const与readonly的区别

摘要:
Const和readonly可以概括如下:1。在指定初始值后,const和readonly将是可读和不可写的。const是编译时常数,readonly是运行时常数。因此,const只能在该字段的声明中初始化,而只读字段可以在声明或构造函数中初始化。因此,根据构造函数的不同,readonly可能具有不同的值,例如常量A=B+1;B如果它是一个变量,编译时无法计算结果,因此常量不能用变量初始化。

const与readonly总结如下:

1.const和readonly在指定初始值以后将可读不可写

2.const是编译时常量,readonly是运行时常量.

因此const只能在该字段的声明中初始化,而readonly字段可以在声明或构造函数中初始化,因此根据构造函数的不同,readonly可能有不同的值

例如:

const int A = B+1;   B如果是一个变量,显然不能再编译时就计算出结果,所以常量是不可以用变量来初始化的。
                                     B如果是一个const常量,在编译的时候就会有一个明确的值,所以这句话就是正确的

3.const默认是静态的,是一个对象成员,readonly默认是一个实例成员

 const成员是一个类得成员,引用方式为:类.成员   readonly为对象实例.成员

static readonly为类成员引用方式:类.成员

4.const对于引用类型来讲只能是String和null,readonly可以是任意的类型

5.const的效率较高,readonly比较灵活

免责声明:文章转载自《const与readonly的区别》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android 学习笔记之 JSON的序列化基本用法discuz 论坛配置 QQ/163 网易邮箱下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

程序破解之 API HOOK技术 z

API HOOK,就是截获API调用的技术,在程序对一个API调用之前先执行你的函数,然后根据你的需要可以执行缺省的API调用或者进行其他处理,假设如果想截获一个进程对网络的访问,一般是几个socket API : recv,recvfrom, send, sendto等等,当然你可以用网络抓包工具,这里只介绍通过API HOOK的方式来实现, 主要原理是...

CFileFind类的详解以及应用实例

CFileFind类在afx.h头文件中声明。功能:执行本地文件的查找,支持通配符。类的成员函数:1、查找操作类: 1 //搜索目录下指定的文件,成功返回非0。第二个参数不必理会2 virtual BOOL FindFile(LPCTSTR pstrName = NULL,DWORD dwUnused = 0); 3 virtual BOOL F...

PCRE正则库的使用

使用pcre编写C或C++程序,然后编译。 对于C程序,编译命令为:gcc -I/usr/local/include/pcre -L/usr/local/lib/pcre -lpcre file.c 对于C程序,编译命令为:gcc -I/usr/local/include/pcre -L/usr/local/lib/pcre -lpcrecpp file....

puppeteer安装/爬取数据

安装: 建议走国内淘宝镜像安装,因为直接走npm安装报错 国内镜像安装: npm install -g cnpm --registry=https://registry.npm.taobao.org puppeteer安装: cnpm i puppeteer 爬取数据: const puppeteer = require('puppeteer'); (a...

《深入实践C++模板编程》之二——模板类

1、类的模板的使用 类,由于没有参数,所以没有模板实参推导机制。 1 #include <stdexcept> 2 3 template<typename T> class my_stack; 4 5 template<typename T> 6 class list_node 7 {...

C++编译遇到参数错误(cannot convert parameter * from 'const char [**]' to 'LPCWSTR')

转:http://blog.sina.com.cn/s/blog_9ffcd5dc01014nw9.html 前面的几天一直都在复习着被实习落下的C++基础知识。今天在复习着上次创建的窗口程序时,出现了一个错误,百思不得其解。因为是同样的代码,上次的都能顺利的通过编译,这次自己新建了一个工程结果就有一个错误出现,是在调用Create()函数时,传参数出现问...