switch case 遇到判断type分支的写法
一叶障目,没有接触到的知识点真是太多了......
最近项目里需要用到一个小工具,就用winform写了一个出来,然后需要一个功能就是清空控件内容,我这个工具就用到了textbox和combobox,就拿这两个做示例了。
对于清空winform控件,网上搜索答案基本都是需要转化成string然后比较name的硬编码,参考:
https://stackoverflow.com/questions/7252186/switch-case-on-type-c-sharp
https://www.cnblogs.com/lonelyxmas/p/5472462.html
当我这么写了之后,就像下面这样,被review代码的资深嫌弃了......
private void ClearCntrValue(Control parContainer){for (int index = 0; index < parContainer.Controls.Count; index++){// 如果是容器类控件,递归调用自己if (parContainer.Controls[index].HasChildren){ClearCntrValue(parContainer.Controls[index]);}else{switch (parContainer.Controls[index].GetType().Name){case "TextBox":parContainer.Controls[index].Text = "";break;case "RadioButton":((RadioButton)(parContainer.Controls[index])).Checked = false;break;case "CheckBox":((CheckBox)(parContainer.Controls[index])).Checked = false;break;case "ComboBox":((ComboBox)(parContainer.Controls[index])).Text = "";break;}}}}
于是就学了在现在的我看起来的神操作,就像这样:
private void ClearCntrValue(Control.ControlCollection controls){foreach (Control ctr in this.Controls){switch (ctr){case TextBox text:text.Text = "";break;case ComboBox comboBox:comboBox.SelectedItem = OperateType.PleaseWait;break;}}}
参考官方文档:
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/switch
每天进步一点点,咱不能什么都知道,但是看到了好的东西就记下来,慢慢积累就牛起来啦。
转载于:https://www.cnblogs.com/Mindy-hym/p/9298733.html
switch case 遇到判断type分支的写法相关推荐
- C++用unordered_map查表代替if else/switch case多判断语句
一.引言 在C++中我们写判断逻辑一般会用if else或switch case语句,比如以下例子: #include <iostream>using namespace std;clas ...
- java switch case 或_Java Switch Case 条件判断
Java的 Switch Case 语句,可以理解为分支 例子 假设打麻将有四个人 编号为 1 2 3 4 对应名字为 张三,李四,王五,赵六 数据结构 switch(expression){ cas ...
- java switch case怎么判断范围_java小白从入门到精通(基础二)
六:流程控制语句 1.作用: 一个程序他在执行的时候,各个语句的执行顺序对程序的结果是有直接影响的,所以我们必须很清楚每条语句的执行流程.并且有些时候我们需要通过控制语句的执行流程来实现我们要完成的功 ...
- java switch case怎么判断范围_【转】Java期末复习攻略!
期末 19年就这样要过去了, 终于到了小时候作文里的未来呢! 然而,期末考试也随之来临了. 不知大家"预习"的怎么样呢? 期末复习资料的放送快接近尾声了 下面康康学长学姐们 怎么教 ...
- Java修饰符、Java运算符、Java循环语句、Java条件语句、Java switch case
Java 修饰符 Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class ...
- 结构控制Switch Case
<?php$day = 2;//1234567;任意一种情况!!/* if($day == 1) {echo '星期一'; } else if($day == 2) {echo '星期二'; } ...
- java switch原则_Java switch case语句
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. switch case 语句语法格式如下: switch(expression){ case value : ...
- Java基础了解-02-修饰符/循环结构/if-else/Switch case
@ 修饰符/循环结构/if-else/Switch case 一.Java 修饰符 Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在 ...
- c深刨5——switch case break相关
文章目录 switch与case default switch与case switch的语法结构: int main(){int a = 0;while (1){scanf("%d" ...
最新文章
- linux+C环境下动态管理头文件和库文件
- 基于python的游戏设计与实现-python五子棋游戏的设计与实现
- 2017 企业服务创新大会启动,助力中国企业敏捷发展
- DM8168 编译filesystem步骤
- 【Python】程序的分支结构之异常处理
- 计算机网络 | 网络层 :IP协议详解
- 从初恋到生子,聊聊我的十年爱情。
- jaxb注解使用_使用JAXB时
- php数据关系图,如何利用navicat查看数据表的ER关系图
- [CSS]RevealTrans 滤镜
- 预处理和typedef
- 我的职业规划,大家给点意见吧!
- Java 7中的TransferQueue
- C# 创建XML文档
- 408计算机考试科目英语数学,关于计算机考研408的那些事儿
- Zookeeper简介,架构,单机版搭建
- 为什么OSPF在广播网络里面,DD和LSR采用单播,而LSU hello采用组播。
- 如何使用unity制作雷达探测目标效果动画
- 网络流媒体--RTP和RTCP协议
- cmmi3级认证有什么要求?参与人员都有哪些