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

因为工具类ToolHand.Name 为变量,所以编译不通过。

使用if语句来逐个判断:

看AI对此的解释:

C#的switch语句在条件匹配之所以要用静态常量是因为,编译时常量(const)在编译时就被确定,而运行时常量(readonly或属性)在运行时才能确定值。C#的switch语句在编译时需要生成跳转表,这要求每个case的值在编译时是已知的,以便优化执行路径,比如生成高效的跳转指令或使用哈希表查找。

C#语言碎片:Switch-Case语句字符串匹配的更多相关文章

  1. java中的Switch case语句

    java中的Switch case 语句 在Switch语句中有4个关键字:switch,case break,default. 在switch(变量),变量只能是整型或者字符型,程序先读出这个变量的 ...

  2. Python | 基础系列 · Python为什么没有switch/case语句?

    与我之前使用的所有语言都不同,Python没有switch/case语句.为了达到这种分支语句的效果,一般方法是使用字典映射: def numbers_to_strings(argument): sw ...

  3. c语言中的switch case语句

    switch--case语句中,switch后面跟一个变量,这个变量不可以是字符数组,字符指针,字符串数组,浮点型(实型).它可以是整型,字符型(在本质上也是整型).所以这导致case后面的常量表达式 ...

  4. 为什么说在使用多条件判断时switch case语句比if语句效率高?

    在学习JavaScript中的if控制语句和switch控制语句的时候,提到了使用多条件判断时switch case语句比if语句效率高,但是身为小白的我并没有在代码中看出有什么不同.去度娘找了半个小 ...

  5. 李洪强漫谈iOS开发[C语言-040]-switch case

    李洪强漫谈iOS开发[C语言-039]-switch case 补充:

  6. switch… case 语句的用法

    switch… case 语句的用法   public class Test7 { public static void main(String[] args) { int i=5; switch(i ...

  7. if语句,if...else if语句和switch...case语句的区别和分析

    前段时间在工作中遇到了一个关于条件判断语句的问题,在if语句,if else if语句和switch case语句这三者之间分析,使用其中最有效率的一种方法. 所以就将这个问题作为自己第一篇博客的主要 ...

  8. 为什么switch...case语句比if...else执行效率高

    在C语言中,教科书告诉我们switch...case...语句比if...else if...else执行效率要高,但这到底是为什么呢?本文尝试从汇编的角度予以分析并揭晓其中的奥秘. 第一步,写一个d ...

  9. JavaScript基础知识(if、if else、else if、while、switch...case语句)

    13.语句 概念:就是分号(:) 代表一条语句的结束 习惯:一行只编写一条语句:一行编写多条语句(代码可读性较差) 语句块:可以包含多条语句     "{ }"将多条语句包裹 u ...

  10. C语言中switch case语句可变参实现方法(case 参数 空格...空格 参数 :)

    正常情况下,switch case语句是这么写的: : : ... ;break ; default : ... ;break ; } 接下来说一种不常见的,但是对于多参数有很大的帮助的写法: 先给一 ...

随机推荐

  1. Qt/C++编写全能播放组件(支持ffmpeg2/3/4/5/6/Qt4/5/6)

    一.前言 从代码层面以及自由度来说,用ffmpeg来写全能播放组件是最佳方案(跨平台最好最多.编解码能力最强),尽管已经有优秀的vlc/mpv等方案可以直接用,但是vlc/mpv对标主要是播放器应用层 ...

  2. Qt编写安防视频监控系统40-onvif线程处理

    一.前言 整个onvif模块大部分的功能都有了以后,除了在demo上点点按钮可以执行获取结果显示外,最终还是要应用到视频监控中,在按钮上点点和系统中后台自动运行是两码事,比如onvif校时和事件订阅, ...

  3. 即时通讯技术文集(第41期):直播技术合集(Part1) [共12篇]

    为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第41 期. [- 1 -] 移动端实时音视频直播技术详解(一):开篇 [链接] http:// ...

  4. P1437 敲砖块 题解

    题意 在一个凹槽中放置了 \(n\) 层砖块.最上面的一层有 \(n\) 块砖,从上到下每层依次减少一块砖.每块砖都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示: 14 15 4 3 23 3 ...

  5. ANOSIM分析

    ANOSIM分析(analysis of similarities)即相似性分析,主要用于分析高维数据组间相似性,为数据间差异显著性评价提供依据.在一些高维数据分析中,需要使用PCA.PCoA.NMD ...

  6. Mac 下erlang及rabbitmq安装

    --------------------------------------- 1.首先,安装Homebrew安装Homebrew遇到的问题参考这个链接 2.安装erlang环境brew instal ...

  7. springboot+springsecurity项目

    https://blog.csdn.net/qq_36748248/article/details/120932954 https://blog.csdn.net/weixin_41207479/ar ...

  8. Java技术栈总结-基础

    - - -计算机技术演化- - -1 编程语言演化1.1 写在最前  此文用于个人总结,串接知识点 1.2 汇编  举例:mov .add  特点:程序量很大,几百行.几千行乃至几万行 1.3 VB- ...

  9. Android性能测试(内存、cpu、fps、流量、GPU、电量)——adb篇

    adb 常用命令 获取连接设备号:adb devices     列出设备所有已安装的包名 (不需root权限) adb shell "pm list packages",可以加上 ...

  10. ABC243

    ABC224 D 题目大意 有一个九个点的无向图棋盘,上面有八个棋子,一次操作能将一个棋子沿边移到空点上,问将每个棋子移到与它编号相同的点最少几步. 解题思路 考虑使用 BFS. 用 string 存 ...