我是C#的新手,我在C ++和C中有一定的背景,这就是为什么我无法掌握,为什么Lists <>被int
索引而不是像uint
这样的无符号整数索引的原因。这是非常不合逻辑的,因为不能有一个元素,即-1左右。
以下代码运行失败时出现此问题:
List<string> some_list = new List<string>();
/* Insert some strings */
for (uint i = 0; i < some_list.Count; ++i) {
string element = some_lists[i]; // Error: No possible conversion from uint to int
/* do something with string_element */
}
在C ++中,这会给我一个编译器警告,但仍然可以正常编译。那么,C#在列表中使用带符号整数作为索引的原因是什么?对我来说,这看起来并不十分敏锐,但是也许有人可以启发我。