Je l'ai observé pendant un moment que C#, programmeurs ont tendance à utiliser des int partout, et rarement recours à uint. Mais je n'ai jamais découvert une réponse satisfaisante pour expliquer pourquoi.
Si l'interopérabilité est votre objectif, uint ne devrait pas apparaître en public Api parce que pas tous de la CLI d'appui aux langues des entiers non signés. Mais cela n'explique pas pourquoi int est si répandue, même dans les classes internes. Je soupçonne que c'est la raison pour uint est utilisé avec parcimonie dans la BCL.
En C++, si vous avez un entier pour lequel les valeurs négatives n'ont pas de sens, vous choisissez un entier non signé.
De toute évidence, cela signifie que les nombres négatifs ne sont pas autorisés ou prévu, et le compilateur va faire quelques vérifications pour vous. Je soupçonne aussi dans le cas des indices de tableau, que l'équipe peuvent facilement passer les limites inférieures de la vérifier.
Toutefois, lorsque le mélange int et des types d'unité, de soins et de moulages seront nécessaires.
Devrait uint être utilisé plus? Pourquoi?