Thus, ushort (System.UInt16) is more than enough to hold the value and takes up half the space.
Do you think that βspaceβ is disappearing? In any case, DateTime does not save each component in a separate field. If you are storing a year somewhere, feel free to transfer it to ushort - and pour Month into byte , etc.
Please note that ushort not CLS-compatible, which is probably the reason for this. There are many properties that make sense to be unsigned, such as string.Length , etc., but the structure tries to be CLS-compatible where possible.
Jon skeet
source share