如果我的函数在逻辑上只返回自然数,我应该使用uint吗

本文关键字:我应该 uint 自然数 返回 函数 我的 逻辑上 如果 | 更新日期: 2023-09-27 17:58:26

让我们考虑一个函数,它获取一个人的出生日期并返回他的年龄(以整年为单位)。若日期在将来,则抛出一个异常。它应该返回什么类型的uint或int?uint作为一种自然约束似乎是合乎逻辑的。还是使用更常用的int更好?

如果我的函数在逻辑上只返回自然数,我应该使用uint吗

无符号数字不符合CLS,所以一般情况下:不,不要使用它们
当然不是在公共接口中。

yes使用uint,因为uint允许更大的数字范围,大约是范围的2倍,所以如果所有数字都是正数,那么就使用uint;但如果你认为它们可能是负数,而且永远不可能是大的(1000000是大的),那么就用int,因为这对变量值来说更安全、更防错。