zoukankan      html  css  js  c++  java
  • C#关键字 unchecked与checked

    unchecked 关键字用于取消整型类型的算术运算和转换的溢出检查。

    checked和unchecked,都可以加于一个语句块前或者一个算术表达式前。

    加checked标志的语句或表达式如果发生算术溢出,则抛出System.OverflowException类型的异常,而加unchecked标志的语句发生算术溢出时,则不抛出异常。

    在未经检查的上下文中,如果表达式生成的值超出目标类型的范围,则不会标记溢出。 例如,由于以下示例中的计算在 unchecked 块或表达式中执行,因此将忽略计算结果对于整数而言过大的事实,并且向 int1 赋予值 -2,147,483,639。

    unchecked
    {
        int1 = 2147483647 + 10;
    }
    int1 = unchecked(ConstantMax + 10);
    

    如果删除 unchecked 环境,会发生编译错误。 由于表达式的所有项都是常量,因此可在编译时检测到溢出。

    在编译时和运行时,默认不检查包含非常数项的表达式。

    由于检查溢出需要时间,因此在没有溢出风险的情况下使用取消检查的代码可能会提高性能。 但是,如果存在溢出的可能,则应使用启用了检查的环境。

  • 相关阅读:
    折半插入排序-ACM题
    xcode 常用快捷键
    折半插入排序-算法
    插入排序
    HTML5 data-* 自定义属性
    vertical-align属性baseline(转)
    CSS 基础点
    解决-word里无论怎么改变字体颜色,字体总是红色的
    css属性前加*号的作用
    php 函数的嵌套
  • 原文地址:https://www.cnblogs.com/Seamless/p/15216409.html
Copyright © 2011-2022 走看看