C# 为什么DateTime.DaysInMonth返回一个ushort?
我只是想知道为什么DateTime.DaysInMonth(int,int)返回int而不是ushort?我的意思是,最坏的情况是31(因为我们的支持已经足够了) 我错过了什么C# 为什么DateTime.DaysInMonth返回一个ushort?,c#,.net,C#,.net,我只是想知道为什么DateTime.DaysInMonth(int,int)返回int而不是ushort?我的意思是,最坏的情况是31(因为我们的支持已经足够了) 我错过了什么 该类型将不符合CLS 典型的硬件针对int操作进行了优化。这可能是运算符重载的原因之一,例如+(byte,byte)或+(short,short)返回int,而不是byte或short。这是唯一的原因,与以前的语言一致的行为是另一个原因。您可以查看更多详细信息 我们不再使用8位CPU…考虑字节不是一个数字-它是一个内存单
int
操作进行了优化。这可能是运算符重载的原因之一,例如+(byte,byte)
或+(short,short)
返回int
,而不是byte
或short
。这是唯一的原因,与以前的语言一致的行为是另一个原因。您可以查看更多详细信息我们不再使用8位CPU…考虑<代码>字节<代码>不是一个数字-它是一个内存单元,它可以代表一个数字。因此,更好的建议是为什么不
ushort
我标记为重复,因为我相信这个问题的标题不同,但核心问题是相同的。我真的相信,对另一个问题的回答将推动OP得出正确的结论!我相信OP最关心的是不使用short
或任何域小于int
的数字类型背后的原因是什么?MatíasFidemraizer是的,在我的回答中加入了这个问题。