猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
为什么String.Empty不是常数?
在.Net中,为什么String.Empty只读而不是常量?我只是想知道是否有人知道该决定背后的原因。
FFIVE
浏览 504
回答 3
3回答
蝴蝶不菲
我认为这里有很多混乱和不良反应。首先,const字段是static成员(不是实例成员)。检查C#语言规范的10.4常量。即使常量被认为是静态成员,常量声明也不需要也不允许使用静态修饰符。如果public const成员是静态的,则不能认为常量会创建一个新的Object。鉴于此,以下代码行在创建新Object方面的作用完全相同。public static readonly string Empty = "";public const string Empty = "";这是Microsoft的注释,解释了2之间的区别:readonly关键字与const关键字不同。const字段只能在该字段的声明中初始化。只读字段可以在声明中或在构造函数中初始化。因此,取决于使用的构造函数,只读字段可以具有不同的值。同样,虽然const字段是编译时常量,但readonly字段可用于运行时常量,...因此,我发现唯一合理的答案是杰夫·耶茨(Jeff Yates)。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
.NET
.net 中 字符串含有超链接,如何给超链接自动加上a标签?
1 回答
请问.net 中用jquery传值安全吗?
2 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续