文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>c#中const和readonly区别

c#中const和readonly区别

时间:2011-04-21  来源:zhxhdean

一:概念

const 关键字用于修改字段或局部变量的声明。它指定字段或局部变量的值是常数,不能被修改。不允许在常数声明中使用 static 修饰符。
readonly 关键字是可以在字段上使用的修饰符。当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中。

二:区别
1.const是一个包含不能修改的值的变量,是在编译时可被完全计算的表达式。因此不能从一个变量中提取的值来初始化常量。
如果 const int a = b+1;b是一个变量,显然不能再编译时就计算出结果,所以常量是不可以用变量来初始化的。readonly是在运行时执行的,因此能从一个变量中提取的值来初始化常量。

2.const只能被声明为简单的数据类型(内建的int和浮点型)、枚举或字符串,不能用new关键字初始化一个静态常量,即便是对一个值类型来说。 readonly 可以是任意的数据类型。

//这样是错误的
public const DateTime myDateTime = new DateTime(2006,9,1,0,0,0);
//这样是可以的
public static readonly DateTime myDateTime = new DateTime(2006,9,1,0,0,0);

总结:const外部不能对其赋值,而readonly外部可以对其赋值。

相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载