重複の可能性:
負にできない値にはC#でuintを使用する必要がありますか?
(大まかにMaxValue
:))2^31と2^32の関係は関係ないとします。一方でuint
は、それは自明であるため、使用することは良いように思われます。それは、ある値が決して負になることはないかもしれないことを示します(そして約束しますか?)。ただし、int
より一般的であり、キャストはしばしば不便です。intを使用して、常にコードコントラクトで補足することができます(誰もが今では.Net 4.0に移行していますよね?)標準ライブラリはプロパティを使用しint
ますが、それらが負になることはありません。それで、それはほとんどの場合よりも優れていることはあなたにとって明らかですか、それとももっと複雑ですか?Length
Size
int
uint
この質問が明確に述べられていないことがわかった場合は、質問してください。
ありがとう。
編集:うん、だまされたように見える。ただし、非常に小さな質問です。値が負でない場合に、この特定のケースでプロパティ/関数をコードコントラクト/アサートステートメントで補足する方法の良い例を教えてください。