c# checked 和 unchecked
前言
我们知道一个东西在c# 中 比如说int 的max 加1会等于min。
如:
static void Main(string[] args)
{
int i = 2147483647;
int b = i + 1;
Console.WriteLine(b);
Console.ReadLine();
}
那么是否可以检查出其是否溢出呢?
正文
static void Main(string[] args)
{
int i = 2147483647;
try
{
checked
{
int b = i + 1;
Console.WriteLine(b);
}
}
catch
{
Console.WriteLine("检查到错误,需要处理");
}
Console.ReadLine();
}
可以通过checked关键字来检查,但是默认不开启,我们需要设置。
打开项目的“属性”页。
单击“生成”属性页。
单击“高级”按钮。
修改“检查算法上溢/下溢”属性。