一尘不染

为什么C#不允许只读局部变量?

c#

与同事对此进行了友好的辩论。我们对此有一些想法,但想知道SO人群对此有何看法?


阅读 305

收藏
2020-05-19

共1个答案

一尘不染

原因之一是不支持只读本地的CLR。只读转换为CLR /
CLI初始化操作码。该标志只能应用于字段,对本地没有任何意义。实际上,将其应用于本地可能会产生无法验证的代码。

这并不意味着C#无法做到这一点。但这会给同一种语言结构带来两种不同的含义。当地人的版本将没有CLR等效映射。

2020-05-19