大多数常见数据类型都有内置类型:Int32
有int
,Boolean
有bool
,String
有string
等。为什么DateTime没有内置类型?
首先我认为这是因为DateTime
具有属性和公共功能,但int
也是如此。任何人都可以对此有所了解吗?具有内置等效类型的类型的标准是什么?
答案 0 :(得分:8)
CLR仅定义基本构建块:定义所有其他构建块所需的最小数据类型。这些是别名的类型。
由于DateTime
只是一个包含在结构中的long和整数的集合,因此无需在CLR中为它创建新的数据类型。您可以使用CLR中已定义的数据类型构建它。不需要别名它。
答案 1 :(得分:1)
这些只是语言中的别名。 DateTime没有别名。就是这样。
更新:
根据C#语言规范:
C#提供了一组称为简单类型的预定义结构类型。简单类型通过保留字标识,但这些保留字只是System命名空间中预定义结构类型的别名,如下表所示。
Reserved word Aliased type ---------------------------- sbyte System.SByte byte System.Byte short System.Int16 ushort System.UInt16 int System.Int32 uint System.UInt32 long System.Int64 ulong System.UInt64 char System.Char float System.Single double System.Double bool System.Boolean decimal System.Decimal
C#语言规范可以在这里找到:
C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ VC#\ Specifications \ 1033 \ CSharp Language Specification.docx