.Net フレームワークの DateTime 構造では、Year は int (実際には System.Int32) として定義されます。ただし、MSDN のドキュメントによると、値は常に1 から 9999 の間になります。したがって、ushort (System.UInt16) は値を格納するのに十分であり、スペースの半分を占有します。では、なぜそれは int であり、ushort ではないのでしょうか?
ushort から int への暗黙的な変換があるため、Year で整数演算を行うために必要なキャストはありません。
これはマイクロ最適化の問題であり、それほど重要ではないことを認識しています。ただ興味があるだけ。