zoukankan      html  css  js  c++  java
  • 浅谈checked和unchecked

    在阅读源码时,发现有段代码为 unchecked包括,单忽然忘记了 unchecked是干什么的了,遇事不决问google,将此纪录一下,以便温习。

     首先,来简单说一下他们的作用:

    checked:打开运算溢出检查

    unchecked:关闭运算溢出检查

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

    在这里,我们要讨论的也是int类型溢出,事实上,当int型中的最大+1就会变成最小值,当我们希望这个int值不会超过限制时,可以通过手动启用溢出检查功能。

    如何启动呢?

    在VS中是允许设置项目属性来启用或禁止运算溢出检查的。解决方案资源管理器=>右击选择属性=>在属性对话框选择生成=>单机右下角的高级=>在高级对话框中,勾选【检查算数溢出】选项,如下图所示

    同样的道理,在代码中,可以使用unchecked和checked关键字,来选择性的打开和关闭代码中一个特定部分的整数溢出检查,这些关键字将覆盖项目的编译器选项。

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

    需要注意的是:只有在checked块中的整数运算才会检查,对于块中的方法调用,不会检查所调用方法中的整数运算。

    努力,不是为了要感动谁,也不是要做给哪个人看,而是要让自己随时有能力跳出自己厌恶的圈子,并拥有选择的权利。记住,用自己喜欢的方式过一生。
  • 相关阅读:
    matlab中的匹配函数
    查看matlab中的小波基
    图像处理中的彩色图像处理
    OSEK Event mechanism
    OSEK OS Resource management
    ISO17356标准简介[转]
    OSEK OS标准简介(转)
    IQmath的使用方法
    HIVERT高压变频主电路构造原理
    MPPT算法
  • 原文地址:https://www.cnblogs.com/xiaomowang/p/14417005.html
Copyright © 2011-2022 走看看