W strukturze .Net Framework DateTime, Rok jest zdefiniowany jako int (który jest naprawdę A System.Int32). Jednak dokumentacja MSDN mówi, że wartością będzie zawsze between 1 and 9999. Tak więc, ushort (System.UInt16) jest więcej niż wystarczający do przechowywania wartości i zajmuje połowę miejsca. Dlaczego więc jest to int, a nie ushort?Dlaczego DateTime.Now.Year int i nie ushort
Istnieje niejawne przekształcenie z ushort na int, więc nie ma potrzeby wykonywania rzutów, aby wykonać arytmetykę liczb całkowitych w danym roku.
Zdaję sobie sprawę, że jest to problem dotyczący mikrooptymalizacji, a zatem nie jest bardzo ważny. Jestem po prostu ciekaw.
To jest * nie * optymalizacja. Dno http://stackoverflow.com/questions/10065287/why-is-ushort-system-uint16-ushort-equal-to-int-system-int32/10157517#10157517 –
Nawet z 'ushort', we'd marnuj dwa najlepsze kawałki ... – AakashM