C#类型转换时的溢出检查

来源:互联网 发布:nginx rewrite 编辑:程序博客网 时间:2024/06/12 01:46
当显 地把一种数据类型转换为另一种数据类型时,为了避免溢出,通常有两种方法。
1、为表达式设置溢出检查上下文,就是用关键词checked和unchecked。按照下述方式:
checked(表达式)
unchecked(表达式)
               ps.我很郁闷为什么e x p r e s s i o n是非法字符呢,无奈写成表达式。。。
 
示例:
        byte destinationVar;
         shortsourceVar = 281;
         destinationVar= checked((byte)sourceVar);
 
执行这段代码时,程序会崩溃,显示如图的错误信息:
C#类型转换时的溢出检查

2、改变溢出检查的默认设置,让这种类型的表达式都和包含checked关键字一样,除非表达式明确使用unchecked关键字。修改项目的属性:点击项目→属性→生成→高级→勾选"检查运算上溢/下溢"。默认情况下禁用这个设置,激活它可以提供checked行为。

C#类型转换时的溢出检查

 

C#类型转换时的溢出检查

原创粉丝点击