在.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