C# - checked/unchecked

C# - checked/unchecked 首页 / C#入门教程 / C# - checked/unchecked

C# 提供了checked 和unchecked 关键字来处理整型异常。 Checked 和 unchecked 关键字分别指定已检查上下文和未检查上下文。在检查的上下文中,算术溢出引发异常,而在未经检查的上下文中,算术溢出被忽略并且结果被截断。

C# Checked关键字

checked 关键字用于在编译时显式检查整数类型值的溢出和转换。

让无涯教程首先来看一个不使用Checked关键字的示例。

using System;
namespace CSharpProgram
{
    class Program
    {
        static void Main(string[] args) 
        {
                int val = int.MaxValue;
                Console.WriteLine(val + 2);
        }
    }
}

输出:

链接:https://www.learnfk.comhttps://www.learnfk.com/csharp/c-sharp-checked-and-unchecked.html

来源:LearnFk无涯教程网

-2147483647

请看,上面的程序产生了错误的结果,并且没有抛出任何溢出异常。

此程序抛出异常并停止程序执行。

using System;
namespace CSharpProgram
{
    class Program
    {
        static void Main(string[] args) 
        {
            checked
            {
                int val = int.MaxValue;
                Console.WriteLine(val + 2);
            }
        }
    }
}

输出:

链接:https://www.learnfk.comhttps://www.learnfk.com/csharp/c-sharp-checked-and-unchecked.html

来源:LearnFk无涯教程网

Unhandled Exception: System.OverflowException: Arithmetic operation resulted in an overflow.

C# UnChecked

Unchecked 关键字忽略整数类型算术异常。它不会显式检查并产生可能被截断或错误的结果。

using System;
namespace CSharpProgram
{
    class Program
    {
        static void Main(string[] args) 
        {
            unchecked
            {
                int val = int.MaxValue;
                Console.WriteLine(val + 2);
            }
        }
    }
}

输出:

链接:https://www.learnfk.comhttps://www.learnfk.com/csharp/c-sharp-checked-and-unchecked.html

来源:LearnFk无涯教程网

-2147483647

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

MongoDB高手课 -〔唐建法(TJ)〕

检索技术核心20讲 -〔陈东〕

编译原理实战课 -〔宫文学〕

Vim 实用技巧必知必会 -〔吴咏炜〕

动态规划面试宝典 -〔卢誉声〕

大厂晋升指南 -〔李运华〕

程序员的个人财富课 -〔王喆〕

编程高手必学的内存知识 -〔海纳〕

深入剖析Java新特性 -〔范学雷〕

好记忆不如烂笔头。留下您的足迹吧 :)