星空网 > 软件开发 > ASP.net

我所理解的readonly和const

      最近要给学校软件小组新成员讲几次课,所以把很多以前懒得学习的和模糊不清的知识点,重新学习了一下。

MSDN是这样解释的:

readonly 关键字与 const 关键字不同。 const 字段只能在该字段的声明中初始化。 readonly 字段可以在声明或构造函数中初始化。 因此,根据所使用的构造函数,readonly 字段可能具有不同的值。 另外,const 字段为编译时常数,而 readonly 字段可用于运行时常数.

    什么是编译时常数,什么是运行时常数呢。我想做下面的实验,关于readonly和const你会理解的更好

在项目外新建个类库,类库中的一个TestClass类定义一个const字段和一个readonly字段

     public const int ParamOne=100;

     public static readonly int ParamTwo=100; 

 

在控制台项目调用并输出两个值,预期效果当然是100,100;

 

下面所做的将会帮助你理解const和readonly的区别所在。

 

修改类库中的ParamOne=50;ParamTwo=50;

 

不要重新生成整个项目,仅重新生成类库,bin目录下找到dll文件,复制到控制台bin目录下(目的是不重新编译生成控制台的项目)

 

双击控制台的exe文件,接下来会发生什么?

 

输出的值是100和50;

 

也就是说  const的值没有改变,但是readonly的值改变了。  

 

原因是什么呢?

 

const的值是保存到元数据,直接嵌入代码,而readonly的值,则是运行时赋值。

 




原标题:我所理解的readonly和const

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

亚马逊发出最严刷单禁令,已经清理TOP测评人5715名!:https://www.ikjzd.com/articles/9786
加征的关税还能这样避?官方发布声明:https://www.ikjzd.com/articles/97860
亚马逊打假,让不规范销售无处可逃!:https://www.ikjzd.com/articles/97861
最全!最强速卖通注册运营指南!:https://www.ikjzd.com/articles/97863
亚马逊运营必知:各种亚马逊标志都代表什么?:https://www.ikjzd.com/articles/97864
Ueeshop受邀出席2019全球跨境电商成都大会!:https://www.ikjzd.com/articles/97865
怪物在游轮上复活的电影 怪物在游轮上复活的电影叫什么:https://www.vstour.cn/a/411230.html
在线旅游如何选择更优惠的旅游产品?:https://www.vstour.cn/a/411231.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流