关于C#中switch语句的一点注意

C# switch 语句支持的数据类型全面解析 本文全面解析C#switch语句对不同数据类型的支持情况。传统switch支持byte、int、string等类型,但不支持long、float等类型;而C# 8.0引入的switch表达式则扩展了对long的支持。byte类型会被隐式转换为int处理,string区分大小写且编译器会进行优化。文章对比了各类型在switch中的性能表现和优化策略,并介绍了C# 7.0+的模式匹配高级用法,最后给出了类型选择指南和常见注意事项,为开发者合理使用switch语句提供参考。 阅读详情

(最先发表在www.kunwsoft.com)
?????? ?大家肯定对switch语句并不陌生,它能够让程序根据控制表达式的值,从多个动作中作出选择(从逻辑过程看,和多分支语句if-else有些相似)。在C++和java中也有这一语句,不过在C#中,这一语句则有了些变化。先看下边一个例子:
?????switch(letter)
???????? {?????????
??????????????? ?case 'a':
?????????????????????????? ?Console.WriteLine("aaaaa");
???????????????? case 'b':
??????????????????????????? Console.WriteLine("bbbbb");
??????????????????????????? break;
?????? ?}
????????? 的这个例子在“case 'a'”这部分会产生一个错误,因为程序会一直执行到“case 'b'”来,也就是发生了穿越,但是在C#中,是禁止穿越发生的。因此,你必须使用“break”“goto”或者“return”来阻止穿越的发生。但是下边的情况例外:
?????switch(letter)
???????? {?????????
??????????????? ?case 'a':
???????????????? case 'b':
?????????????????????????? ?Console.WriteLine("aaaaa");
??????????????????????????? break;
???????????????? case 'c':
??????????????????????????? Console.WriteLine("ccccc");
??????????????????????????? break;
?????? ?}
??????? (上边的这种情况,相信不用解释,也能够明白。)
??????? 此时,就出现了另外一个问题,那就是:在特殊情况下,要使程序可以进行这种穿越,怎么实现?其实这也很简单,前边不是提到过吗,可以使用“goto”语句来防止程序的穿越,其实也可以用它来实现穿越,只需使用它将程序跳转到另一个“case”不就行了吗!
?
??????? 总结:在C++和java中的switch中,允许程序穿越,而C#中不允许,不过,可以使用“goto”语句变相的实现。

C#switch多分支语句 C#switch多分支语句           switch语句           根据一个表达式的结果值,在多个分支语句中查找相同的结果,并执行该分支语句中的语句块。           在switch语句中,条件的表达式不需要做值类型的限制,可以是逻辑值,也可以是其他类型的值。           switch(Condition)           { 阅读详情

相关推荐

告别反复格式化!用Ventoy制作2025年终极启动盘,Windows/Linux/macOS一网打尽

本文详细介绍了如何使用Ventoy制作2025年终极多系统启动盘,彻底告别反复格式化U盘的烦恼。Ventoy通过创新的引导加载器架构,允许用户在一个U盘内同时存放并直接启动Windows、Linux、macOS等多种系统镜像和WePE等维护工具,实现真正的非破坏性管理和极高的U盘利用率。文章涵盖从安装配置、镜像库构建到安全启动设置等全流程实战指南。

weixin_29280219的博客 195

C#中的switch case使用介绍

C#中 代码如下: switch(type) { case tpye1: break; case tpye2: break; case tpye3: break; case tpye4: break; }; 其中type可以是数字,也可以是字符串; 您可能感兴趣的文章:c#入门之分支语句使用方法(三元运算符、if语句switch语句)C#可以减少或不使用switch有什么方法choosesubject c# switchc#多线程编程基础C# 基础之运算符C#基础:Dispose()、Close()、Finalize()的区别详解浅析C

继电保护整定值计算软件_「全套69份」整定值计算与设计方案

【全套69份】整定值计算与设计方案,输电线路、变压器、发电机、电容器、母线保护等下载方式见文末内容预览:10kV高压电机保护原理及整定计算35kV环网运行线路继电保护整定计算方案分析35KV以下继电保护及三段式电流保护整定计算110 kv电网计算机整定计算新方案220kV两相式电铁牵引站供电线路的短路故障计算及其保护整定原则分析220kV周潮线接地距离保护整定计算特殊方案750 kV变压器保护配置...

weixin_30825953的博客 4975

C#系列之switch语句

C#系列switch语句内容,这篇笔记将为您简单阐述该内容。

2303_76354097的博客 6148

关于switch用法时的特点及疑惑

switch在选择结构中的优势 if和switch用于选择结构中,但switch**一般**效率会快一些。比如以下代码: switch 拿到weekDay 的值后,会进行一个折半查找,先将其和 case 3对比,然后发现值比7小的数就不在做对比,接着在剩下比3大的数里面在折半查找,以此类推直到找到7为止。 而如果换做if实现上面的功能就从1一直找到7。 switch一些语法特点(一) switch 中如果省掉break后,会产生**穿透效果**。比如一些代码: 这时候打印出的结果是:星期一;星期

weixin_47876844的博客 833

C语言switch语句的用法详解

C语言还提供了另一种用于多分支选择的switch语句, 其一般形式为:switch(表达式){ case常量表达式1: 语句1; case常量表达式2: 语句2; … case常量表达式n: 语句n; default:语句n+1;}其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表...

weixin_34029680的博客 5456

C#入门(14)Switch语句

我们学习的Switch内容不难,在日后的游戏开发中,它更多会用来开发一些复杂情况的甄选:状态机的切换是最为典型。要明白,我们每天学的东西,在日后的某个地方一定会有帮助的,大厦始于地基。共勉。

a6s686的博客 3906

[C#]C# switch case 语句

当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。如果要使 C# 支持从一个 case 标签显式贯穿到另一个 case 标签,可以使用 goto 一个 switch-case 或 goto default。1)switch 语句中的 expression 必须是一个整型或枚举类型,或者是一个 class 类型,其中 class 有一个单一的转换函数将其转换为整型或枚举类型。如果 case 语句中有处理语句,则必须包含 break 或其他跳转语句

lwx666sl的博客 1900

C#Switch语句(在C#中如何根据结果执行不同的代码)

注意,仅限于离散值,也就是说你不能直接用switch来测试一个范围内的值(比如年龄是否在18到65之间),或者浮点数的精确相等(因为浮点运算可能存在误差),而是需要将这类连续的或非精确的比较转化为对离散值的检查,比如通过区间划分成具体的 case。离散的值,指的是在一个集合或数列中,各数值之间彼此独立,不存在介于两者之间的其他可能值,这样的值我们称之为离散值。进行更复杂的条件检查。,当掷一个标准的六面骰子时,可能的结果是1、2、3、4、5、6,这些都是离散的值,因为不存在介于这些整数之间的结果。

充满智慧的博客 5145

C# switch语句的使用

1 今天我们来学习switch 语句的使用,switch 语句和if else 类似 switch 语句主要的作用是用于来判断在规定条件下 根据你的选择来执行switch 语句下面case :的程序 下面我们来简单了解它的使用 using System;using System.Collections.Generic;using System.Linq;using System.T...

weixin_30423977的博客 3051

c#——switch case语句

注意switch语句中case的值只能是用2,4,“aaa”等常量,不能是变量、表达式。casei//错误case中值只能用2,4,“aaa”等常量,不能写变量。Console.WriteLine(“你输入的{0}没有意义”,i);Console.WriteLine(“你输入的和程序假定的一样!Console.WriteLine(“你输入的是整钱!Console.WriteLine(“你输入的是整钱!Console.WriteLine(“你真2!...

weixin_41883890的博客 1万+

c# switch 语句_C#程序演示switch语句的示例

c# switch 语句A switch statement allows checking a variable/value with a list of values (cases) and executing the block associated with that case. switch语句允许使用值(案例)列表检查变量/值,并执行与该案例关联的块。 Syntax: 句法: ...

2635

C#中的switch语句详解

首先,我们需要一个表达式,它的值将被用于与case语句中的值进行比较。根据表达式的值,程序将跳转到与匹配的case值相对应的代码块中执行相应的代码。首先,我们需要一个表达式,它的值将被用于与case语句中的值进行比较。根据表达式的值,程序将跳转到与匹配的case值相对应的代码块中执行相应的代码。它允许程序根据一个表达式的值,选择执行与该值相关联的特定代码块。它允许程序根据一个表达式的值,选择执行与该值相关联的特定代码块。的值为6或7,将执行另一个共享的代码块,输出"Weekend"。

PodProgram的博客 1万+

switch语句的特点

switch语句属于选择语句,其表达形式就像一个选择结构,大体的格式如下: switch(表达式){//byte、short、int、char case 取值1: 执行语句1; break; case 取值2: 执行语句2; break; ... ... default: 默认执...

J 跬步, 致千里 1386

C#switch语句注意

大家肯定对switch语句并不陌生,它能够让程序根据控制表达式的值,从多个动作中作出选择(从逻辑过程看,和多分支语句if-else有些相似)。在C++java中也有这一语句,不过在C#中,这一语句则有了些变化。先看下边一个例子: switch(letter) { case a: Console.WriteLine("aaaaa"); case b: Console.WriteLine("

深度Java 7491

C#有效使用switch case语句

switch case语句适用于从一组互斥的分支中选择一个执行分支。 值得注意的就是case的值必须是常量表达式不允许是变量。 C#中的switch case语句更安全,如果激活块中靠前的一个

kkwant的博客 1万+

C# switch语句

一、C# switch语句 if语句每次判断只能实现两种选择,而switch语句每次判断可以实现多种选择。 基本语法格式如下: switch(controlling-expression){ case constant-expression: {语句块} 跳转语句(如break、return、goto) case constant-expre...

adiking520110的博客 2384

NET 中C#switch语句的语法

.NET 中C#switch语句的语法如下(switch,case和default是关键字): switch ( controllingExpression ){ case constantExpression :  statements  break; case constantExpression :  statements  break; ... default :  statement...

weixin_34247155的博客 503

《数据结构》上机实验报告—利用栈实现迷宫求解.pdf

《数据结构》上机实验报告—利用栈实现迷宫求解.pdf

下一篇: 在C#中编写多线程应用程序,简单!
ipqn
博客等级 码龄24年 5粉丝 15原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值