sim*_*sjo 9 .net indexing unsigned signed
在.Net中使用带符号数作为索引的理由是什么?
在Python中,您可以通过发送负数来从数组的末尾开始索引,但在.Net中不是这种情况.对.Net来说,以后添加这样的功能并不容易,因为它可能会在索引时使用特殊规则(是的,一个坏主意,但我猜它会发生)破坏其他代码.
并不是说我曾经需要索引大小超过2,147,483,647的数组,但我真的不明白为什么他们选择签名数字.
是不是因为在代码中使用带符号的数字更为正常?
编辑:我刚刚找到这些链接:
编辑2:好的,Matthew Flaschen发布的帖子还有其他几个很好的理由:
使用低于 0 的值作为无效索引可能是长期以来的传统。如果找不到元素,像 String.IndexOf 这样的方法返回 -1。因此,必须对返回值进行签名。如果索引消费者需要无符号值,则必须 a) 检查并 b) 转换该值以使用它。使用签名索引,您只需要检查。
| 归档时间: |
|
| 查看次数: |
430 次 |
| 最近记录: |