这些关键字将覆盖项目的编译器选项

时间:2022-02-25 08:25:02

  首先要知道int型在c#中是一个32位的数。由此可以知道int型的取值范畴是(-2147483648~2147483647)当要使用int的最小值或者是最大值的时候,可以使用int.MinValue和int.MaxValue这两个属性。

这里我们要讨论的是int型数溢出,事实上当在int型中的最大+1 就会酿成最小值。当我们但愿这个int值不会赶过限制时,可以通过手动启用溢出查抄成果。

  在Visual Studio中是允许设置项目属性来启用或者禁止溢出查抄的。解决方案资源打点器------》右击选择属性-------》在属性对话框中勾线生成---------》单击右下角的高级按钮--------》在高级生成设置对话框中勾选查抄运算上溢/下溢选项

  在代码中可以用checked和unchecked关键字选择性打开和*措施一个特定部分的整数溢出查抄,这些关键字将笼罩项目的编译器选项。

  checked关键字是打开运算溢出查抄,,unchecked相反。

  

这些关键字将覆盖项目的编译器选项

上面措施将a变量设置为int数据的最大值,当执行checked检测时,就会抛出OverflowException异常。

这些关键字将覆盖项目的编译器选项

而使用了unchecked就会强制不查抄溢出的代码块。就不会抛出OverflowException这个异常。

需要注意的处所是:只有在checked快中的整数运算才会查抄,对付快中的要领挪用,不会查抄所挪用要领中的整数运算。

  异常措置惩罚惩罚器和Visual Studio调试器

  在Visual Studio中调试器默认只在产生未措置惩罚惩罚异常时才会中断应用措施,但有时候需要调试应用措施自己,这样就需要再议程被应用措施捕捉之前跟踪他们。可以很容易的启用该成果:

选择-----》调试窗口-----》异常设置