在.Net中使用有符号数作为索引的基本原理是什么?无符号与有符号数作为索引
在Python中,您可以通过发送负数索引数组的末尾,但在.Net中并非如此。 .Net稍后添加这样的功能并不容易,因为它可能会在编制索引时使用特殊规则(是的,一个坏主意,但我想它会发生)破坏其他代码。
不是我曾经需要索引数组超过2,147,483,647的大小,但我真的不明白他们为什么选择有符号数。
难道是因为在代码中使用有符号数更正常吗?
编辑:我刚刚发现这些链接:
The perils of unsigned iteration in C/C++
Signed word lengths and indexes
EDIT2:好的,一对夫妇从螺纹马修•富兰琛其他充分的理由发布:
- 历史原因是因为它是一种类似c的语言
- Interop with c
+1,优秀的问题。 – Blindy 2010-06-17 08:34:14
请参阅[为什么Array.Length是一个int,而不是一个uint](http://stackoverflow.com/questions/6301/why-is-array-length-an-int-and-not-an-uint)。 – 2010-06-17 08:42:45
可能的重复[为什么.NET在某些类中使用int而不是uint?](http://stackoverflow.com/questions/782629/why-does-net-use-int-instead-of-uint-in-某些类) – nawfal 2014-07-15 15:39:43