首页 > 试题广场 >

请叙述const与readonly修饰得类成员的区别。

[问答题]

请叙述constreadonly修饰得类成员的区别。

相同点:

                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在灵活性上的不足.

发表于 2017-01-22 13:32:21 回复(0)