Почему функция AddMonths DateTime принимает параметр Int32, а не Int16 - PullRequest
0 голосов
/ 25 мая 2011

Мне очень любопытно об этой вещи

Int32

int addmonths_int = 10;
DateTime.Now.AddMonths(addmonths_int);

Int16

short addmonths_short = 10;
DateTime.Now.AddMonths(addmonths_short);

Если бы мы могли указать Int16 в качестве параметра в функции AddMonths, а также значение месяца не может быть больше 12, тогда почему .NET Framework использует месяц как Int32, а не Int16. ..

Если есть какая-то особая культурная проблема в объявлении месяца как Int16 ... !! ?? !!

Я здесь думаю, что если бы month было бы Int16, то это сэкономило бы некоторую часть длины в некотором месте где ... я думаю Memory Allocation

UPDATE

что было бы предложено для свойства DateTime.Now.Month, может ли оно быть Int16 вместо Int32 ??

ЭТО ОДИН И ОДИНАКОВОЕ ??

Ответы [ 4 ]

9 голосов
/ 25 мая 2011

Прежде всего, это может быть более 12 месяцев.Ничто не мешает вам вычислить дату плюс 435345 месяцев.

Что касается выбора Int32: Int32 - это собственный целочисленный тип данных 32-битных систем, поэтому он является наиболее эффективным типом данных для работы.

3 голосов
/ 25 мая 2011

Если мы могли бы дать Int16 в качестве параметра в функции AddMonths, а также значение месяца не может быть больше 12, то почему .NET Framework использует месяц как Int32, а не Int16 ...

Почему вы не можете добавить тринадцать месяцев к сегодняшнему дню и закончить с 25 июня 2012 года?

1 голос
/ 25 мая 2011

Вы можете добавить более 12 месяцев к определенной дате, используя функцию AddMonths.

Фактическое ограничение следующее:

Значение месяца должно быть в пределах +/-120000

1 голос
/ 25 мая 2011

Ваше предположение неверно:

также значение месяца никогда не может быть больше 12

Даже если бы вы были правы, я не думаю, что это будет иметьВы купили много, используя 16-разрядное целое число вместо 32-разрядного: вероятно, размер объекта DateTime не изменился бы вообще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...