C# checked运算符

一、C# checked运算符

checked运算符用于对整型算术运算和显式转换启用溢出检查。

默认情况下,表达式产生的值如果超出了目标类型的范围,将会产生两种情况:

?常数表达式将导致编译时错误。

?变量表达式在运行时计算并将引发异常。

二、提示

如果我们通过编译器选项或者环境配置在全局范围内取消了溢出检查,就可以使用checked关键字来启用该项功能了。

三、示例
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            // C# checked运算符-www.baike369.com
            byte x = 255;
            checked
            {
                x++;  // 超出了0至255的范围,溢出
            }
            Console.WriteLine("x的值是:" + x);
            Console.ReadLine();
        }
    }
}

运行上面的代码,将会产生“算术运算导致溢出”的错误信息。如下图所示:

byte数据类型只能包含0到255的整数,所以x值的加1会导致溢出。

时间: 2024-10-04 08:07:41

C# checked运算符的相关文章

【读书笔记】C#高级编程 第七章 运算符和类型强制转换

(一)运算符 类别 运算符 算术运算符 + - * / % 逻辑运算符 & | ^ ~ && || ! 字符串连接运算符 + 增量和减量运算符 ++ -- 移位运算符 << >> 比较运算符 == != < > <= >= 赋值运算符 = += -= *= /= %= &= |= ^= <<= >>= 成员访问运算符(用于对象和结构) . 索引运算符(用于数组和索引器) [] 类型转换运算符 () 条件

《C#高级编程》【第7章】运算符与类型强制转换 -- 学习笔记

       运算符编程语言的基本元素,它使得我们的代码更加的简洁明了.然而我们为了解决操作数类型不同的问题,我们又有引入了强制转换的概念.我们先看看本章的内容构成吧. 1.运算符 我们来看看一些常见的运算符: <1>条件运算符 其语法如下: Condition ? true_Expression : false_Expression 当条件Condition为真时,其将执行true_Expression,否则执行false_Expression. <2> checked 和

C#变量类型转换

1.变量 变量是指在程序的运行过程中随时可以发生变化的量. 语法:数据类型 变量名; 例如:string stra="这是一个字符串"; 2.常量 也称常数,是一种恒定的或不可变的数值或数据项. 语法: const 数据类型 常量名 = 常量值; 例如:const string strconst="常量"; 3.数据类型: 在C#当中,数据类型分为两种,值类型与引用类型. 值类型,表示实际数据,只是将值存放在内存中,值类型都存储在堆栈中,包括:简单类型:int,ch

C#6.0语言规范(七) 表达式

表达式是运算符和操作数的序列.本章定义了操作数和运算符的语法,求值顺序以及表达式的含义. 表达式分类 表达式分类为以下之一: 一个值.每个值都有一个关联的类型. 一个变量.每个变量都有一个关联的类型,即声明的变量类型. 命名空间.具有此分类的表达式只能显示为member_access(成员访问)的左侧.在任何其他上下文中,分类为命名空间的表达式会导致编译时错误. 一种.具有此分类的表达式只能显示为member_access(成员访问)的左侧,或者作为运算as符(作为运算符),is运算符(运算符)

第2章 C#语言基础

C#语言基础本章将介绍一些C#语言的基础知识.本章和接下来的两章中的所有程序和代码片段都可以作为交互式示例在LINQPad中运行.阅读本书时使用这些示例可以加快你的学习进度.在LINQPad中编辑执行这些示例可以立即看到结果,无须在Visual Studio中建立项目和解决方案.若要下载这些示例,请点击LINQPad中的Samples选项卡,然后点击“Download more samples”.LINQPad是免费程序,详见http://www.linqpad.net 2.1 第一个C#程序

checked、is、as、sizeof、typeof运算符

//--------------------------------checked防止溢出            byte b = 255;            checked            {                b++;            }            Console.WriteLine(b.ToString());//byte类型只包含0~255,加上checked所以会抛出异常 //is运算符,检查对象是否与特定的类型兼容            int

运算符1—JS学习笔记2015-6-13(第56天)

取模在实际案例当中的运用: 隔行换色: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script> /* var i = 0; i++; if( i === 5 ){ i = 0; } i%

数据类型 数据类型转换 运算符

鉴别空对象看齐能否进行属性操作. 双等会进行隐式类型转换,==两侧数据类型不一样时,会转换成一样的在进行比较. 1 若等号一侧为 布尔值 就都转换成布尔值进行比较. NaN和任何内容比较结果都为false onchange检测内容(在表单中):1 在单选和复选框中,检测checked值是否发生变化(检测是否勾选或取消勾选) 2在其他表单控件中,检测value值发生变化. 3 表单控件(input textareea selecter)要获取他们的值获取的是value. 在js中只有nan类型的数

asp.net运算符之逻辑运算符以及其他运算符

逻辑(布尔型)运算符用于对boolean型的结果的表达式进行运算,运算的结果都是boolean型.其运算结果如下所示: 运算符 运算 例子 结果 & AND(与) false&true false | OR(或) false|true true ^ XOR(异或) false^true true ! NOT(非) !false true && AND(短路) false&&true false || OR(短路) false||true true 下面对一些