Quelle est la justification de l'utilisation de nombres signés comme index dans .Net?Numéros non signés ou signés en tant qu'index
En Python, vous pouvez indexer à partir de la fin d'un tableau en envoyant des nombres négatifs, mais ce n'est pas le cas dans .Net. Il n'est pas facile pour .Net d'ajouter une telle fonctionnalité plus tard car elle pourrait casser d'autres codes en utilisant peut-être des règles spéciales (ouais, une mauvaise idée, mais j'imagine que ça arrive) sur l'indexation.
Je n'ai jamais eu besoin d'indexer des tableaux de plus de 2 147 483 647, mais je ne comprends vraiment pas pourquoi ils choisissent des nombres signés. Peut-il être parce qu'il est plus normal d'utiliser des chiffres signés dans le code?
Edit: Je viens de trouver ces liens:
The perils of unsigned iteration in C/C++
Signed word lengths and indexes
Edit2: Ok, deux autres bonnes raisons du fil Matthew Flaschen posté:
- historique raisons car c'est un langage de type c
- Interop avec c
+1, excellente question. – Blindy
Voir [Pourquoi est Array.Length un int, et non un uint] (http://stackoverflow.com/questions/6301/why-is-array-length-an-int-and-not-an-uint). –
duplicata possible de [Pourquoi est-ce que .NET utilise int au lieu de uint dans certaines classes?] (Http://stackoverflow.com/questions/782629/why-does-net-use-int-instead-of-uint-in- certaines-classes) – nawfal