现在的位置: 首页 > 综合 > 正文

C#: const与readonly的用法和区别解析

2013年09月15日 ⁄ 综合 ⁄ 共 1960字 ⁄ 字号 评论关闭

  C#: const与readonly的用法和区别解析 收藏
总结一下const和readonly:

const和readonly的值一旦初始化则都不再可以改写;
const只能在声明时初始化;readonly既可以在声明时初始化也可以在构造器中初始化;
const隐含static,不可以再写static const;readonly则不默认static,如需要可以写static readonly;
const是编译期静态解析的常量(因此其表达式必须在编译时就可以求值);readonly则是运行期动态解析的常量;
const既可用来修饰类中的成员,也可修饰函数体内的局部变量;readonly只可以用于修饰类中的成员.
前面是我从网上摘录的,文字太多,懒得自己再总结和打字了.

注意,第四点尤为重要,我用以下代码来说明和验证:

1.建立文本文件,然后改成.cs文件-lib.cs:

2.在命令行中输入: csc /t:library lib.cs,就会生成一个lib.dll文件.

3.建立文本文件,然后改成.cs文件-demo.cs:

4.在命令行中输入: csc /r:lib.dll demo.cs,也就会生成一个demo.exe文件.

双击,结果如下:

3.14

3.14

5.更改lib.cs为:

6.再次双击demo.exe文件,结果却如下:

3.14

3.1415

(注: 直接双击demo.exe是直接运行,不再编译,上结果也就是运行期结束的结果,相当于跳过了编译)

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiaofengsheng/archive/2009/10/12/4659892.aspx

抱歉!评论已关闭.