有没有办法阻止C#中的uint下溢?

时间:2018-09-29 03:39:35

标签: c# underflow

使用int测试是否低于0。 一旦C#中的uint低于0,它就会绕回一个巨大的数字,这在所有编程语言中都是如此。

2 个答案:

答案 0 :(得分:3)

您可以这样做

uint i = 0;
i = checked(i - 1);

这将抛出System.OverflowException。尽管它不会保持为零,但至少您可以确定没有溢出发生。

答案 1 :(得分:-2)

我只是使用普通的int而不是uint,并检查其<0 ...问题是否已解决