【发布时间】:2011-05-25 13:07:31
【问题描述】:
我对这个东西很好奇
Int32
int addmonths_int = 10;
DateTime.Now.AddMonths(addmonths_int);
Int16
short addmonths_short = 10;
DateTime.Now.AddMonths(addmonths_short);
如果我们可以在AddMonths 函数中将Int16 作为参数,并且月份的值永远不会超过12,那么为什么.NET Framework 使用月份作为Int32 而不是Int16。 ..
如果将月份声明为 Int16... !!??!!
我在这里想如果month 本来是Int16 那么它会在某些地方节省一些长度.. 我认为Memory Allocation
更新
对 DateTime.Now.Month 属性的建议是什么,不能是 Int16 而不是 Int32 吗??
一切都是一样的吗??
【问题讨论】:
-
@all 这个 SO 问题也可能会突出主题 stackoverflow.com/questions/270263/…
-
您可以在日期上添加 18 个月,因此上限 12 没有意义(如果这样做,
Byte将比Int16更合适) -
@all ok 我同意@philippe-leybaert 和 jason 的概念,但是对于
DateTime.Now.Month属性的建议是什么,难道不是Int16而不是Int32吗??跨度> -
再一次,如果我们进行微优化,当
Byte可用时,我们为什么要停在Int16? -
@damien-the-unbeliever 是的