关于c#:为什么在整数(uint)下/溢出时没有得到异常?

Why don't I get an exception on integer (uint) under/overflow?

本问题已经有最佳答案,请猛点这里访问。

我今天偶然发现了这个。 这应该发生吗? 这是我们所有人都应该注意的事情吗?

由于这是一个无符号整数,我应该不会出错?

1
2
3
uint foo = 10;
foo = foo - 35;
Console.WriteLine(foo);

输出:4294967271


您有算术溢出,只需启用Buid-Advanced-Check进行算术...,您将得到以下异常: