Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么DateTime.DaysInMonth返回一个ushort?_C#_.net - Fatal编程技术网

C# 为什么DateTime.DaysInMonth返回一个ushort?

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…考虑字节不是一个数字-它是一个内存单

我只是想知道为什么DateTime.DaysInMonth(int,int)返回int而不是ushort?我的意思是,最坏的情况是31(因为我们的支持已经足够了)

我错过了什么

  • 该类型将不符合CLS
  • 典型的硬件针对
    int
    操作进行了优化。这可能是运算符重载的原因之一,例如
    +(byte,byte)
    +(short,short)
    返回
    int
    ,而不是
    byte
    short
    。这是唯一的原因,与以前的语言一致的行为是另一个原因。您可以查看更多详细信息

  • 我们不再使用8位CPU…考虑<代码>字节<代码>不是一个数字-它是一个内存单元,它可以代表一个数字。因此,更好的建议是为什么不
    ushort
    我标记为重复,因为我相信这个问题的标题不同,但核心问题是相同的。我真的相信,对另一个问题的回答将推动OP得出正确的结论!我相信OP最关心的是不使用
    short
    或任何域小于
    int
    的数字类型背后的原因是什么?MatíasFidemraizer是的,在我的回答中加入了这个问题。