20100422.C#.const VS readonly
const和readonly这对“顽固”的兄弟着实会让我这样的菜鸟迷惑。
研究了一番算是有所感悟了。
const常量在编译时就会确定值,编译器直接进行值replace,就像是C语言里的#define。它本身就是static类型的,所以它不能与static共用。有位expert认为它可以作为一个static的子集来理解,我觉得这是可取的。另外它必须在声明时进行初始化。
readonly则是在运行时才初始化,可以在声明时初始化,也可以用construct进行初始化(所以很自然的会有这样一个利好的推论:我们可以通过重载construct来进行“可变的”初始化)。另外一点是readonly可以与static并用,来定义其性质是否是instance-level的。显然定义为static之后就是class-level的了,不能对象引用。
转载于:https://www.cnblogs.com/sunbett/archive/2010/04/22/1717889.html
20100422.C#.const VS readonly相关推荐
- const与readonly,析构函数,虚拟方法
const 与readonly const 关键字用于修改字段或局部变量的声明.它指定字段或局部变量的值不能被修改.常数声明引入给定类型的一个或多个常数. 常数声明可以声明多个常数,例如 ...
- const和readonly内部区别
const和readonly关键字也是面试中经常考到的问题,通常都是用来表示一个不可变的变量成员,那么具体区别是什么?从用法上说,const只能以inline代码的形式定义,而readonly既可以以 ...
- const和readonly
说道定义的变量不容修改的问题,不得不说起C#中还有一个readonly关键字,也是使用在字段上定义不容修改的值,但是const和readonly有几个区别, 区别1) 在语 ...
- C# 总结const、 readonly、 static三者区别:
总结const. readonly. static三者区别: (有人问我,看似简单,我也没能立刻回答出来,总结一下,分享一下.) const:静态常量,也称编译时常量(compile-time con ...
- 如何在 C# 中使用 const,readonly,static
平时在开发时经常会用到 const,readonly,static 关键字,可以肯定这些关键词是完全不同的概念,但有时候他们在用法上很相似以至于在场景中不知道选择哪一个,这篇文章我们就来讨论 C# 中 ...
- const 和readonly
原文:http://www.cnblogs.com/royenhome/archive/2010/05/22/1741592.html 关于 const和readonly修饰符之间的区别,要牵涉到C# ...
- C#中const和readonly的区别
C#引入了readonly修饰符来表示只读域,const来表示不变常量.顾名思义对只读域不能进行写操作,不变常量不能被修改,这两者到底有什么区别呢?只读域只能在初始化--声明初始化或构造器初始化--的 ...
- c# const与readonly 关键字的比较
C#中,const 与readonly是两个比较有用的关键字.const 与 readonly 定义的数据成员在初始化都不能再改变. 比如定义了 public class MathUtitlity { ...
- C# const与readonly的用法和区别解析(转)
总结一下const和readonly: 1.const和readonly的值一旦初始化则都不再可以改写: 2.const只能在声明时初始化:readonly既可以在声明时初始化也可以在构造器中初始化: ...
最新文章
- HTML的标签描述12
- redis延迟消息队列不准时php,Redis实现延迟消息队列
- Eclipse运行jsp动态网页时,提示服务端口在使用中
- 实现redis 手动_Redis精华所在,一口气说完Redis的主从复制和哨兵模式
- python图像边缘提取_python通过robert、sobel、Laplace算子实现图像边缘提取详解
- 使用Spring Boot搭建你的第一个应用程序
- 大恶人吉日嘎拉之走火入魔闭门造车之.NET疯狂架构经验分享系列之(十二)多语言支持...
- php更改txt文件,如何使用php对txt文件进行修改
- 小猿圈Linux 之用户和用户组管理(二)
- DFS+BFS(POJ3083)
- pythoninit_Python __init__.py文件的作用
- 说说微信聊天记录收费这件事
- 产品经理面试必问(附解析)
- 织梦dedecms内核手赚网手机试玩平台源码PC+手机版
- java jmail_JavaMail学习--使用JMail发送邮件
- MAC快捷键还原最小化的(cmd+M)程序窗口
- 西游之路——python全栈——django中orm的使用(1)
- Waiting alone
- Excel中IF函数的使用
- Linux 安装cacti
热门文章
- bzoj 4487: [Jsoi2015]染色问题
- Java设计模式GOF之6大设计原则
- poj3580 伸展树(区间翻转 区间搬移 删除结点 加入结点 成段更新)
- 张一鸣演讲全文:外部波澜起伏,内心平静如常
- PMCAFF微课堂「已结束」 | 阿里资深运营揭秘电商运营与纯互联网运营的区别与互通
- 「敏捷开发」适合什么样的团队?
- 创业公司其实根本不需要管理
- C# SqlBulkCopy数据批量入库
- EBS R12.2 ADOP (R12.2 AD Online Patching) - 5
- HTML 5 视频,音频