【发布时间】:2017-08-26 08:48:07
【问题描述】:
C# 已经是 7.0。但是C# Language Specifications 仍然适用于 5.0。
当我在文档中找不到可空类型的 GetValueOrDefault() 时,我意识到规范已经过时。
我想知道规范是否已经更新,至少在 6.0 中?
【问题讨论】:
-
注意:你永远不会在规范中找到
GetValueOrDefault(),因为那是part of the CLR,而不是C#规范。 -
CLR 没有实现语言,所以我不是那个意思。没有“C# 标准库”,所以我不是这个意思。有 .NET 框架,这就是定义
GetValueOrDefault()的地方。该方法自 .NET 2.0 以来就存在(当引入泛型类型时,包括Nullable<T>),甚至在最近发布的规范 (C# 5) 中都没有提到它。它根本不是,也永远不可能是语言规范的一部分。它与 .NET 完全不同。 -
这个问题不是题外话。它不要求推荐一本书。它询问 C# 引用的位置和状态。这是一个有效的问题。大多数 C# 开发人员关心的问题。鉴于当前参考文献的非官方状态,这也是1年前的答案无法回答的问题