¿Cuál es la razón para usar números con signo como índices en .Net?Números sin signo versus números con signo
En Python, puede indexar desde el final de una matriz enviando números negativos, pero este no es el caso en .Net. No es fácil para .Net agregar una característica más adelante, ya que podría romper otro código, quizás usando reglas especiales (sí, una mala idea, pero creo que sucede) en la indexación.
No es que alguna vez haya necesitado indexar matrices de más de 2,147,483,647 de tamaño, pero realmente no puedo entender por qué eligen los números con signo.
¿Puede ser porque es más normal usar números con signo en el código?
Edit: acaba de encontrar estos enlaces:
The perils of unsigned iteration in C/C++
Signed word lengths and indexes
Edit2: Ok, un par de otras buenas razones de la rosca Mateo Flaschen publicación:
- histórico razones, ya que es un lenguaje parecido al de C
- Interopera con c
+1, excelente pregunta. – Blindy
Consulte [¿Por qué Array.Length es una int, y no una uint] (http://stackoverflow.com/questions/6301/why-is-array-length-an-int-and-not-an-uint). –
posible duplicado de [¿Por qué .NET utiliza int en lugar de uint en ciertas clases?] (Http://stackoverflow.com/questions/782629/why-does-net-use-int-instead-of-uint-in- ciertas clases) – nawfal