17

intとuintの使用の違いは何ですか?これまでに見たすべての例では、整数にintを使用しています。uintを使用する利点はありますか?ありがとう。

4

3 に答える 3

15

uintunsigned intを意味
し、通常の(signed)intが-2G ..+2Gの範囲を持つ0..+4Gの範囲に使用できます。

いつ使うの?ほとんどは決してない。これはCLS準拠のタイプではないため、アセンブリのパブリックインターフェイスで使用しないでください。すべての.NET言語がそれを処理できるわけではありません。

それらの主な用途は、管理されていないコードへのP/Invokeといくつかのまれなビットマスクの状況です。.NETでは、ほとんどのビットマスキングは通常の署名付きintで行います。

于 2010-06-18T09:24:18.570 に答える
4

まず、uintはCLSに準拠していません(.NETプラットフォームを対象とする他の言語は必ずしもそれを実装していません)。可能な限り、パブリックAPIでの使用は避けてください。もちろん、uintの場合は範囲​​(0 ... 4,294,967,295)が異なり、intの場合は(-2,147,483,648〜2,147,483,647)異なります。

于 2010-06-18T09:25:44.043 に答える
3

主な違いは、int は符号付きで、uint は符号なしであることです。uint は負の数を許可しないため、int の範囲が -2,147,483,648 から 2,147,483,647 であるのに対し、範囲は 0 から 4,294,967,295 です。

負の整数を使用できない場合、または負の値を使用する意味がない場合は、符号なし整数を選択することをお勧めします。ただし、追加の範囲が必要なく、単に 0 未満にならない場合は、それほど重要ではなく、int を使用して文字を保存できます。

于 2010-06-18T09:26:32.467 に答える