使用int和uint以及何时使用的区别

使用int和uint有什么区别? 到目前为止我看到的所有示例都使用int作为整数。 使用uint的任何好处? 谢谢。

uint表示unsigned int,您可以将其用于0 .. + 4G范围
普通(带符号)int具有-2G .. + 2G范围。

什么时候用? 几乎从不。 它不是CLS兼容类型,因此您不应该在程序集的公共接口中使用它。 并非所有.NET语言都能处理它。

它们的主要用途是在P / Invoke中使用非托管代码和一些罕见的位掩码情况。 在.NET中,我们使用普通的签名整数进行大多数位掩码。

首先,uint 不符合CLS (其他语言,目标.NET平台不一定实现它),你应该尽可能避免在公共API中使用它。 嗯,当然它们对于uint和(-2,147,483,648到2,147,483,647)的int的范围(0 … 4,294,967,295)不同。

主要区别很简单,int是有符号的,而uint是无符号的。 因为uint不允许负数,所以它的范围是0到4,294,967,295,相比之下,对于一个int,它的范围是-2,147,483,648到2,147,483,647。

如果你有一个你不能有负整数的场景或者没有负值的情况,那么无符号整数可能是一个不错的选择。 但是,如果你不需要额外的范围并且永远不会低于0,那么它并不重要,你可以使用int保存一个字符。