【发布时间】:2015-06-10 23:39:24
【问题描述】:
我在 msdn 上阅读了有关原始类型的信息,但后来我在 StackOverflow 上关于原始类型的问题中遇到了 this answer。两者似乎略有不同。
根据 msdn 文档,它陈述了原始类型的一些优点:
- 原始类型允许文字值。
- 原始类型可以声明为常量值。
- 由所有基本类型组成的表达式的操作数都可以编译成常量表达式。
但是,不同之处在于 StackOverflow 声明 System.String 不是原始类型。这是有道理的:typeof(System.String).IsPrimitive 产生false。而且,StackOverflow 的答案指向 CLI 规范:ECMA 335(链接已损坏)作为其参考来源。这让我相信 msdn 文档并不完全准确。如果是这样,那么原始类型为何如此特别?
【问题讨论】:
-
MSDN 链接是古老的,关于不再支持的 Visual Studio 版本。此外,该链接是关于 Visual Basic,而不是 CLI
-
问题仍然归结为,原始类型有什么特别之处?
标签: .net primitive-types ecma