가능한 중복은 : C#에서 음수가 아닌 값으로 uint 또는 int를 사용해야합니까?
Should I use uint in C# for values that can’t be negative?는
MaxValue
(대략 :)) 2^31 대 2^32가 문제가되지 않는 것으로 가정한다. 한편,
uint
을 사용하는 것은 그 자체로 설명하기 쉽기 때문에 좋을 것입니다. 어떤 값은 결코 음수가 아닐 수도 있음을 나타냅니다. 그러나
int
이 더 일반적이며 캐스트는 종종 불편합니다. int를 사용할 수 있으며 항상 코드 계약으로 보완 할 수 있습니다. (현재 모두 .Net 4.0으로 옮겨졌습니다.) 표준 라이브러리는 부정적인 결과를 내지 않아도
Length
및
Size
속성에
int
을 사용합니다. 따라서 대부분의 경우
int
이
uint
보다 낫다는 점은 분명합니까 아니면 더 복잡합니까?
이 질문에 명확한 언급이없는 경우 질문을하십시오.
감사합니다.
편집 : 그래, 속은 것처럼 보입니다. 그러나, 그리고 작은 질문 : 당신이 나에게 코드 계약/assert 문을 속성/기능을 보완하는 좋은 예를 들어 줄 수 있습니까?이 특별한 경우에는 값이 음수가 아닐 수도 있습니다.