DateTime是原始类型吗?

时间:2014-11-05 09:31:14

标签: c# primitive primitive-types

根据我能找到的内容,我相信DateTime是一种原始类型,但是当我检查我的DateTime变量时,属性'IsPrimitive'是假的。

http://msdn.microsoft.com/en-us/library/aa711900(v=vs.71).aspx

在上面的文章中,您会看到他们说DateTime是原始的。那么我有什么问题或者我读错了文章吗?

3 个答案:

答案 0 :(得分:5)

Date(映射到System.DateTime)是Visual Basic .NET语言的基本类型 (简称VB.NET)。

它不是C#中的原始类型,它也不是CLR中的原始类型。

给定语言的基本类型是可以编写字符串文本的类型,编译器将此litterla理解为相关类型。你不能在C#中为DateTime做这个。

CLR的基本类型是允许某些低级优化的类型。这是非常有限的:只有字符串和不同的整数和浮点数结构是原始类型。

答案 1 :(得分:4)

MSDN page on IsPrimitive列出了就此方法而言被视为原始的.net类型:

  

基元类型是布尔,字节,SByte,Int16,UInt16,Int32,   UInt32,Int64,UInt64,IntPtr,UIntPtr,Char,Double和Single。

并且DateTime不在此列表中。

答案 2 :(得分:0)

使用Type.IsPrimitive确定类型是否是基元。

对于您的特定问题,您可以尝试DateTime.Now.GetType().IsPrimitive。 (这确实会返回false)。 接受的答案中的链接指的是Visual Basic语言规范原语类型 ...