A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fcyan86 中级黑马   /  2013-5-30 07:50  /  1427 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 fcyan86 于 2013-5-30 21:05 编辑

const和readonly一个静态常量、一个是动态常量,const比readonly效率高,那么,是不是应该总是优先考虑const,在const不能使用时再使用readonly;如果不考虑效率问题 ,readonly可以全部取代const么

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

3 个回复

倒序浏览
相同点:

                const与readonly都是只读的.
                const默认是static的,而且在编译期间已经解析完成.所以const与static readonly 只能由类来访问,而readonly由实例来访问.
       不同点

                const既可以修饰类中的成员,又可以修饰函数体中的成员.而readonly只能修改类中的成员.
                const(静态常量)只能声明为简单的数据类型,如int,浮点型,枚举,布尔,字符串型.而readonly(动态常量)可以修饰一下对象类型,如Datetime类型.
        注意:

               const默认是静态的,不能再static const!
               static readonly常量,如果要在构造函数中初始化其值,必须在静态无参构造函数中初始化.
总结:

       const是静态常量,readonly是动态常量.const高效,readonly灵活!但实际开发中我们经常用static readonly 来代替const, 以平衡const在灵活性上的不足.

评分

参与人数 2技术分 +1 黑马币 +2 收起 理由
袁梦希 + 1 很给力!
fcyan86 + 2 我最喜欢总结了

查看全部评分

回复 使用道具 举报
学习了,顶楼上
回复 使用道具 举报
大家加油   以后有事情   或者没加分 给我留言或者看我的个性签名
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马