开发者社区 问答 正文

为什么Array.Length是int,而不是uint

为什么是Array.Lengthint而不是uint。这使我感到困扰(一点点),因为长度值永远不能为负。

这也迫使我在我自己的类上将int用作长度属性,因为当您指定int值时,这需要显式转换。

因此,最终的问题是:unsigned int(uint)有什么用吗?甚至微软似乎都不使用它们。

展开
收起
游客ufivfoddcd53c 2020-01-03 16:53:26 1077 分享 版权
1 条回答
写回答
取消 提交回答
  • 我认为这也可能与简化底层操作有关,因为如果Array.Length是无符号的,则Array.Length当然会在某个时候添加到负数,并添加到负int(二进制补码) ,结果可能会混乱。

    2020-01-03 16:53:39
    赞同 展开评论
问答标签:
问答地址: