DateTime表示C#中的位数

时间:2014-08-07 04:55:32

标签: c# datetime memory

Int,Float,Double,Decimal,DateTime .etc是值类型。我知道:

Int:Represents a 32-bit signed integer.
Float:Represents a single-precision floating-point number(32-bit).
Double:Represents a double-precision floating-point number(64-bit).
...

但DateTime有多少位?为什么.NET中的所有值类型都是struct?

1 个答案:

答案 0 :(得分:9)

基于here,DateTime代表C#中的64位:

  

在.NET Framework 2.0版之前,是DateTime结构   包含一个由未使用的2位字段连接组成的64位字段   使用私有Ticks字段,这是一个62位无符号字段   包含表示日期和时间的刻度数。该   可以使用Ticks属性获取Ticks字段的值。

     

从.NET Framework 2.0开始,DateTime结构包含   一个64位字段,由一个与之连接的私有Kind字段组成   蜱田。 Kind字段是2比特字段,指示是否   DateTime结构表示本地时间,Coordinated   世界时(UTC),或未指定时区的时间。该   在时间之间执行时间转换时使用种类字段   区域,但不是时间比较或算术。的价值   种类字段可以使用Kind属性获得。