joj*_*ojo 4 c# memory datetime
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).
...
Run Code Online (Sandbox Code Playgroud)
但DateTime有多少位?为什么.NET中的所有值类型都是struct?
Mat*_*iee 11
基于此处,DateTime在C#中表示64位:
在.NET Framework 2.0版之前,DateTime结构包含一个64位字段,该字段由未使用的2位字段和一个私有Ticks字段组成,该字段是一个62位无符号字段,其中包含代表该字段的刻度数.日期和时间.可以使用Ticks属性获取Ticks字段的值.
从.NET Framework 2.0开始,DateTime结构包含一个64位字段,该字段由与Ticks字段连接的私有Kind字段组成.Kind字段是一个2比特字段,指示DateTime结构是表示本地时间,协调世界时(UTC)还是未指定时区中的时间.在执行时区之间的时间转换时使用Kind字段,但不用于时间比较或算术.可以使用Kind属性获取Kind字段的值.