在.Net框架的DateTime结构中,Year被定义为int(实际上是一个System.Int32)。但是,MSDN文档说该值始终为between 1 and 9999。因此,一个ushort(System.UInt16)绰绰有余存储的价值和占用一半的空间。那么为什么它是一个整数,而不是一个ushort?为什么DateTime.Now.Year是int而不是ushort
有一个从ushort到int的隐式转换,因此没有需要做的转换来完成年度的整数运算。
我意识到这是一个微型优化问题,因此不是很重要。我只是好奇。
这是*不*优化。底部http://stackoverflow.com/questions/10065287/why-is-ushort-system-uint16-ushort-equal-to-int-system-int32/10157517#10157517 –
即使有'ushort',我们会浪费前两位...... – AakashM