广州.Net培训之C#中const与readonly的区别
广州传智播客作为广州.Net培训机构的龙头,一直致力于做中国最好的.Net培训机构,要选好的.Net培训机构,就找广州传智播客!以下是由广州传智播客分享的C#中const与readonly的区别文章:
在日常的编码实践中,我们都知道,对于常量,可以使用const和readonly,当然你可能也知道,一个是在编译时赋值,一个是在运行时赋值,但除了这个区别之外,还有一个更容易出错却不易发现的区别,你就未必知道了吧。
const:const变量的值是在编译时,变量初始化时被设置的,在其他任何地方都无法改变它的值。如果放在类的字段前面,则该字段自动成为static静态字段,且不能static关键字。由于它的值是在编译时被设置,所以也被称为编译时常量。查阅更多技术视频及文章请登录广州传智播客:.Net培训,广州.Net培训,广州.Net培训机构,.Net培训机构
readonly:readonly关键字只能用于类的字段前,可以在声明时或类的构造函数两个地方进行赋值,而在其它地方则无法改变其值。由于它的值是在运行时设置的,所以也被称为运行时常量。
除了上面的区别还有什么区别呢,下面让我来演示给你看。
假设我有一个类库,里面只有一个类,类的文件名为SampleClass.cs,类中定义了两个整型字段,一个是const常量,一个是readonly常量,并且为其赋值:
publicconstInt32ConstInteger=333;
publicreadonlyInt32ReadOnlyInteger=666;
然后,我们生成这个类库,将它引用到另一个项目中,并把它部署到客户机器上。现在由于客户的需求改变,我们需要将ConstInteger和ReadOnlyInteger两个字段的值分别改为444和777。改完之后,我们重新生成这个类库,并替换掉客户机器上的那个旧的类库文件。到了这里可能你觉得没什么特别的,但当我们去检查更新之后的结果时,令人差异的是ReadOnlyInteger这个字段的值已经变成了777,而ConstInteger这个字段的值却还是原来的333。
这是为什么呢?
原因是,如果含有const类型字段的项目作为程序集被其它项目所引用,那么当本项目重新编译时,引用它的那个项目也要重新编译,但如果是readonly就不用了,我想这可能就是它们一个被称为编译时常量,一个被称为运行时常量的原因吧。
结论:由于了解了这些区别,所以大家在const与readonly的选择上会更有把握一些,希望这些文章对你有所帮助。查阅更多技术视频及文章请登录广州传智播客:.Net培训,广州.Net培训,广州.Net培训机构,.Net培训机构
分享到:
相关推荐
c#中const与readonly区别
分别解说了C#中const的使用方法和readonly的使用方法和区别
C#编程中 readonly与const的区别详解
readonly修饰符用来表示只读,const用来表示不变常量。顾名思义,只读表示不能进行写操作;不变常量不能被修改。这两者到底有什么区别呢
今天小编就为大家分享一篇关于C#中const和readonly的用法比较,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
const 的概念就是一个包含不能修改的值的变量。常数表达式是在编译时可被完全计算的表达式。因此不能从一个变量中提取的值来初始化常量。...readonly 关键字与 const 关键字不同。 1. const 字段只能在该字段的声明中
主要介绍了C#中const 和 readonly 修饰符的用法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
C#引入了readonly修饰符来表示只读域,const来表示不变常量。顾名思义对只读域不能进行写操作,不变常量不能被修改,这两者到底有什么区别呢?
本篇文章是对c#中const与readonly进行了详细的分析介绍,需要的朋友参考下
主要介绍了深入探讨C#中的const、readonly关键字,本文可以帮助你深刻理解这两个关键字,而且是面试中最可能面试到的问题哦,需要的朋友可以参考下
如果你学过ASP.NET理论知识都会知道,在ASP.NET中 readonly和const修饰的变量都是恒量,它们的值是不可以被修改的。但是他们之间到底有什么区别?下面小编就它们的区别用例子来进行说明。
1.const和readonly有什么区别? 2.C#中的数据类型分为哪两类,它们有什么区别? 3.下面是一个关于转义字符使用的控制台应用程序:
主要介绍了C#中的const和readonly关键字,有需要的朋友可以参考一下
下面小编就为大家带来一篇浅谈Java中的final关键字与C#中的const, readonly关键字。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧