小编典典

为什么 String.Empty 不是常数?

all

在 .NET 中,为什么String.Empty只读而不是常量?我只是想知道是否有人知道该决定背后的原因。


阅读 76

收藏
2022-07-01

共1个答案

小编典典

static readonly使用 代替 的原因const是由于使用了非托管代码,正如 Microsoft 在Shared Source
Common Language Infrastructure 2.0
Release
中指出的那样。要查看的文件是sscli20\clr\src\bcl\system\string.cs.

Empty 常量保存空字符串值。我们需要调用 String 构造函数,以便编译器不会将其标记为文字。

将其标记为文字意味着它不会显示为我们可以从本机访问的字段。

我从CodeProject
的这篇方便的文章中
找到了这些信息。

2022-07-01