私はしばらくの間、C#プログラマーはどこでもintを使用する傾向があり、uintに頼ることはめったにないことを観察しました。しかし、私はその理由について満足のいく答えを見つけたことがありません。
相互運用性が目標である場合、すべてのCLI言語が符号なし整数をサポートしているわけではないため、uintをパブリックAPIに表示しないでください。しかし、それは、内部クラスでさえ、intがそれほど普及している理由を説明していません。これが、uintがBCLで控えめに使用されている理由だと思います。
C ++では、負の値が意味をなさない整数がある場合は、符号なし整数を選択します。
これは、負の数が許可または予期されていないことを明確に示しており、コンパイラがチェックを行います。また、配列インデックスの場合、JITが下限チェックを簡単に削除できるのではないかと思います。
ただし、intタイプとunitタイプを混在させる場合は、特別な注意とキャストが必要になります。
uintをもっと使うべきですか?どうして?