【问题标题】:What is special about .NET primitive types?.NET 原始类型有什么特别之处?
【发布时间】: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


【解决方案1】:

MSDN 链接指向有关 Visual Basic.NET 2003 的古老页面。在 current specification 中,字符串已从原始类型列表中删除。 Visual Basic Language Reference 没有提到 String 作为原始类型,即使对于 VB.NET 2003 也是如此。

我怀疑这是 2003 年的文档错误

【讨论】:

  • 很公平,那么原始类型有什么特别之处呢?
猜你喜欢
  • 2012-02-06
  • 1970-01-01
  • 2011-10-04
  • 2010-09-25
  • 2019-04-06
  • 2011-04-18
  • 2017-02-19
  • 2016-09-30
相关资源
最近更新 更多