C#的checked关键字判断是否溢出

目录

一、定义 

二、示例:

三、生成:


一、定义 

        使用checked关键字处理溢出。

        在进行数学运算时,由于变量类型不同,数值的值域也有所不同。如果变量中的数值超出了变量的值域,则会出现溢出情况,出现溢出时变量中的数值将不准确。怎样有效地防止溢出呢?下面结合实例演示怎样使用checked关键字检查是否出现溢出。

        例如,数值类型为byte,byte类型的值域为0~255,所以如果byte类型变量的值高于255或者小于0都会出现溢出。

二、示例:

// 使用checked关键字判断是否有溢出
namespace _022
{public partial class Form1 : Form{private Label? label1;private Label? label2;private Button? button1;private TextBox? textBox1;private TextBox? textBox2;private TextBox? textBox3;public Form1(){InitializeComponent();Load += Form1_Load;}private void Form1_Load(object? sender, EventArgs e){// // label1// label1 = new Label{AutoSize = true,Location = new Point(65, 18),Name = "label1",Size = new Size(43, 17),TabIndex = 0,Text = " + "};// // label2// label2 = new Label{AutoSize = true,Location = new Point(150, 18),Name = "label2",Size = new Size(43, 17),TabIndex = 7,Text = " = "};// // button1// button1 = new Button{Location = new Point(247, 15),Name = "button1",Size = new Size(75, 23),TabIndex = 3,Text = "计算",UseVisualStyleBackColor = true};button1.Click += Button1_Click;// // textBox1// textBox1 = new TextBox{Location = new Point(12, 15),Name = "textBox1",Size = new Size(50, 23),TabIndex = 4,Text = "100"};// // textBox2// textBox2 = new TextBox{Location = new Point(99, 15),Name = "textBox2",Size = new Size(50, 23),TabIndex = 5,Text = "200"};// // textBox3// textBox3 = new TextBox{Location = new Point(182, 15),Name = "textBox3",Size = new Size(50, 23),TabIndex = 6};// // Form1// AutoScaleDimensions = new SizeF(7F, 17F);AutoScaleMode = AutoScaleMode.Font;ClientSize = new Size(334, 91);Controls.Add(label2);Controls.Add(textBox3);Controls.Add(textBox2);Controls.Add(textBox1);Controls.Add(button1);Controls.Add(label1);Name = "Form1";StartPosition = FormStartPosition.CenterScreen;Text = "使用checked关键字处理溢出";           }private void Button1_Click(object? sender, EventArgs e){if (byte.TryParse(                             //对两个byte类型变量赋值textBox1!.Text, out byte Add_One)&& byte.TryParse(textBox2!.Text, out byte Add_Two)){try{checked { Add_One += Add_Two; }        //使用checke关键字判断是否有溢出textBox3!.Text = Add_One.ToString();   //输出相加后的结果}catch (OverflowException ex){MessageBox.Show(ex.Message, "出错!"); //输出异常信息}}else{MessageBox.Show("请输入255以内的数字!");    //输出错误信息}}}
}

三、生成:

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/309351.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Echarts】使用echarts和echarts-wordcloud生成词云图

一、下载echarts和echarts-wordcloud 地址:https://download.csdn.net/download/qq_25285531/88663006 可直接下载放在项目中使用 二、词云数据 词云数据是对象的格式,可以从后端获取,这里以下面数据为例 $list3 array(array(name >…

Python学习 - 爬虫系统架构设计

主要业务流程 初始请求请求过滤器请求队列响应下载器数据解析器数据清洗器存储器 设计图 master slave:master控制队列,过滤,传递任务;slave负责执行 缺点:master和slave端交互数据频繁,slave的数据进出…

如何理解Go语言的数组

什么是数组 首先下一个定义,数组是对线性的内存区域的抽象。高维数组和一维数组有着同样的内存布局。(大学生考试的时候别借鉴哈,这是自己下的定义,相当于是一篇议论文的论点。) 线性的内存区域说白了就是连续的内存…

【Kubernetes】什么是 kubectl ?

什么是 kubectl ? 1.什么是 kubectl ?2.Kubernetes 内部结构3.Kubernetes API 的作用 1.什么是 kubectl ? 在学习如何更有效地使用 kubectl 之前,您应该对它是什么以及它如何工作有一个基本的了解。从用户的角度来看,…

贪心算法—会议安排

与其明天开始,不如现在行动! 文章目录 1 安排会议1 题目描述2 解决思路3 代码实现 💎总结 1 安排会议 1 题目描述 一些项目要占用一个会议室宣讲,会议室不能同时容纳两个项目的宣讲。 给你每一个项目开始的时间和结束的时间 你来…

leetcode贪心算法题总结(三)

本章目录 1.合并区间2.无重叠区间3.用最少数量的箭引爆气球4.整数替换5.俄罗斯套娃信封问题6.可被三整除的最大和7.距离相等的条形码8.重构字符串 1.合并区间 合并区间 class Solution { public:vector<vector<int>> merge(vector<vector<int>>&…

【并发】AtomicInteger很安全

AtomicInteger 简介与常规用法 AtomicInteger 是 Java 中 java.util.concurrent.atomic 包下的一个类。用于实现原子操作的整数。它是一个基于CAS&#xff08;Compare-And-Swap&#xff09;实现的原子整数类。它提供了一系列的原子操作&#xff0c;确保对整数的操作是原子性的&…

C#高级 08Json操作

1.概念 Json是存储和交换文本信息的语法。类似于XML。Json比XML更小、更快、更易解析。Json与XML一样是一种数据格式。Json是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。Json采取完全独立于语言的文本格式&#xff0c; 但是也使用了类似于C语言的习惯。这些特性使…

DevEco Studio4.0 Beta2集成ArkUI-X(开发鸿蒙,安卓.ios应用)/ACE Tools脚手架

ArkUI-X简介 ArkUI-X进一步将ArkUI扩展到了多个OS平台&#xff1a;目前支持OpenHarmony、HarmonyOS、Android、 iOS&#xff0c;后续会逐步增加更多平台支持。开发者基于一套主代码&#xff0c;就可以构建支持多平台的精美、高性能应用 该框架对应的IDE版本为 4.0 Beta2 &…

【数据结构复习之路】查找(严蔚敏版)万字详解

专栏&#xff1a;数据结构复习之路 复习完上面四章【线性表】【栈和队列】【串】【数组和广义表】【树和二叉树】【图】&#xff0c;我们接着复习 查找&#xff0c;这篇文章我写的非常详细且通俗易懂&#xff0c;看完保证会带给你不一样的收获。如果对你有帮助&#xff0c;看在…

Spring-5-切入点的高级使用

Spring提供了两个额外的Pointcut实现&#xff0c;分别是ComposablePointcut和ControlFlowPointcut,它们提供了所需的灵活性。 使用控制流切入点 由ControlFlowPointcut类实现的Spring控制流切入点类似于许多其他AOP实现中可用的cflow构造&#xff0c;尽管功能上没有那么强大。…

集群部署篇--Redis 集群分片模式

文章目录 前言一、Redis 分片集群介绍1.1 介绍&#xff1a;1.2 工作机制&#xff1a;1.2.1 节点&#xff1a;1.2.2 槽 slot&#xff1a;1.2.3 故障转移&#xff1a; 二、Redis 分片集群搭建:2.1 配置文件&#xff1a;2.2 redis 部署&#xff1a;2.3 redis 集群创建&#xff1a;…