根据我能找到的内容,我相信DateTime是一种原始类型,但是当我检查我的DateTime变量时,属性'IsPrimitive'是假的。
http://msdn.microsoft.com/en-us/library/aa711900(v=vs.71).aspx
在上面的文章中,您会看到他们说DateTime是原始的。那么我有什么问题或者我读错了文章吗?
答案 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语言规范原语类型 ...