C#语言碎片:Switch-Case语句字符串匹配
Switch case语句在处理字符串类型匹配时候,case条件需要设置为静态常量或者一个具体的字符串:

因为工具类ToolHand.Name 为变量,所以编译不通过。
使用if语句来逐个判断:

看AI对此的解释:

C#的switch语句在条件匹配之所以要用静态常量是因为,编译时常量(const)在编译时就被确定,而运行时常量(readonly或属性)在运行时才能确定值。C#的switch语句在编译时需要生成跳转表,这要求每个case的值在编译时是已知的,以便优化执行路径,比如生成高效的跳转指令或使用哈希表查找。
C#语言碎片:Switch-Case语句字符串匹配的更多相关文章
- java中的Switch case语句
java中的Switch case 语句 在Switch语句中有4个关键字:switch,case break,default. 在switch(变量),变量只能是整型或者字符型,程序先读出这个变量的 ...
- Python | 基础系列 · Python为什么没有switch/case语句?
与我之前使用的所有语言都不同,Python没有switch/case语句.为了达到这种分支语句的效果,一般方法是使用字典映射: def numbers_to_strings(argument): sw ...
- c语言中的switch case语句
switch--case语句中,switch后面跟一个变量,这个变量不可以是字符数组,字符指针,字符串数组,浮点型(实型).它可以是整型,字符型(在本质上也是整型).所以这导致case后面的常量表达式 ...
- 为什么说在使用多条件判断时switch case语句比if语句效率高?
在学习JavaScript中的if控制语句和switch控制语句的时候,提到了使用多条件判断时switch case语句比if语句效率高,但是身为小白的我并没有在代码中看出有什么不同.去度娘找了半个小 ...
- 李洪强漫谈iOS开发[C语言-040]-switch case
李洪强漫谈iOS开发[C语言-039]-switch case 补充:
- switch… case 语句的用法
switch… case 语句的用法 public class Test7 { public static void main(String[] args) { int i=5; switch(i ...
- if语句,if...else if语句和switch...case语句的区别和分析
前段时间在工作中遇到了一个关于条件判断语句的问题,在if语句,if else if语句和switch case语句这三者之间分析,使用其中最有效率的一种方法. 所以就将这个问题作为自己第一篇博客的主要 ...
- 为什么switch...case语句比if...else执行效率高
在C语言中,教科书告诉我们switch...case...语句比if...else if...else执行效率要高,但这到底是为什么呢?本文尝试从汇编的角度予以分析并揭晓其中的奥秘. 第一步,写一个d ...
- JavaScript基础知识(if、if else、else if、while、switch...case语句)
13.语句 概念:就是分号(:) 代表一条语句的结束 习惯:一行只编写一条语句:一行编写多条语句(代码可读性较差) 语句块:可以包含多条语句 "{ }"将多条语句包裹 u ...
- C语言中switch case语句可变参实现方法(case 参数 空格...空格 参数 :)
正常情况下,switch case语句是这么写的: : : ... ;break ; default : ... ;break ; } 接下来说一种不常见的,但是对于多参数有很大的帮助的写法: 先给一 ...
随机推荐
- Java 中的这个绝对值有点不绝对啊!
现象 假如有如下代码定义了一个方法 test(),它入参可以任何一个 int 类型的整数,那么它输出结果可能是什么? public class Test { public static void te ...
- Qt/C++音视频开发50-不同ffmpeg版本之间的差异处理
一.前言 ffmpeg的版本众多,从2010年开始计算的项目的话,基本上还在使用的有ffmpeg2/3/4/5/6,最近几年版本彪的比较厉害,直接4/5/6,大版本之间接口有一些变化,特别是一些废弃接 ...
- Qt音视频开发19-vlc内核各种事件通知
一.前言 对于使用第三方的sdk库做开发,除了基本的操作函数接口外,还希望通过事件机制拿到消息通知,比如当前播放进度.音量值变化.静音变化.文件长度.播放结束等,有了这些才是完整的播放功能,在vlc中 ...
- 安装opencv_contrib-3.4.9, fatal error: opencv2/xfeatures2d.hpp: 没有那个文件或目录. 解决方法
1. 在Opencv的CmakeLists.txt 中加入以下include语句: INCLUDE_DIRECTORIES("/home/yourusername/Dependencies/ ...
- 即时通讯技术文集(第18期):IM架构设计基础知识合集 [共16篇]
为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第18 期. [- 1 -] IM系统的MQ消息中间件选型:Kafka还是RabbitMQ? [ ...
- .net core反射练习-简易版IOC容器实现
实现一个简易的IOC容器 先说一下简单思路,参考ServiceCollection,需要一个注册方法跟获取实例方法,同时支持构造函数注入.那么只需要一个地方存储注册接口跟该接口的继承类,以及根据类的构 ...
- Final Review - 返回天空的雨滴
目录 Motivations Tricks Conclusions Algorithms And - \[\text{Each moment, now night.} \newcommand{\vct ...
- CDS标准视图:会计员 I_AccountingClerk
视图名称:会计员 I_AccountingClerk 视图类型:基础 视图代码: 点击查看代码 @AbapCatalog: { sqlViewName: 'IFIACCCLERK', // compi ...
- WPF 无边框窗体改变大小和移动
WIN32 API: private const int WM_NCHITTEST = 0x0084; private readonly int agWidth = 12; //拐角宽度 privat ...
- Algernon pg walkthrough Window
第一次打window 从简单的开始打起吧 nmap └─# nmap -p- -A 192.168.150.65 Starting Nmap 7.94SVN ( https://nmap.org ) ...