C# 使用LINQ、泛型、Index函数优化switch(或者多条if)语句
2023-09-14 09:03:15 时间
判断某个变量是不是 .txt.doc.xls.ppt.pdf 中的某一种格式,如果是则执行相应的操作。
方法一:使用泛型
readonly IList String fNames = new List String () {
.doc ,
.txt ,
方法三:使用Index函数
shell编程之条件语句(条件测试、if语句、case语句)(下) 要使Shell脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0时表示成功,否则(非0值)表示失败或异常。 使用专门的测试工具——test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为0表示条件成立)。 使用test测试命令时,有以下两种形式:
shell编程之条件语句(条件测试、if语句、case语句)(上) 要使Shell脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0时表示成功,否则(非0值)表示失败或异常。 使用专门的测试工具——test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为0表示条件成立)。 使用test测试命令时,有以下两种形式:
重构——38以卫语句取代嵌套条件表达式(Replace Nested Conditional with Guard Clause) 以卫语句取代嵌套条件表达式(Replace Nested Conditional with Guard Clause):函数中的条件逻辑使人难以看清正常的执行路径;使用卫语句表现所有特殊情况
背景:
判断某个变量是不是".txt.doc.xls.ppt.pdf"中的某一种格式,如果是则执行相应的操作。
方法一:使用泛型
readonly IList String fNames = new List String () { ".doc", ".txt", ".xls", ".ppt", ".pdf" private void Test(string fName) if(fNames.Contains(fName)) MessageBox.Show(fName); }方法二:使用LINQ
private void Test(string fName) if (new string[] { ".doc", ".txt", ".xls" }.Any(x = fName == x)) MessageBox.Show(fName); }
如果是 就用All
知识拓展:
Lambda表达式表达式树方法三:使用Index函数
private void Test(string fName) string str = ".txt.doc.xls.ppt.pdf"; if (str.IndexOf(fName) = 0) MessageBox.Show(fName); }C# IndexOf 用法
shell编程之条件语句(条件测试、if语句、case语句)(下) 要使Shell脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0时表示成功,否则(非0值)表示失败或异常。 使用专门的测试工具——test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为0表示条件成立)。 使用test测试命令时,有以下两种形式:
shell编程之条件语句(条件测试、if语句、case语句)(上) 要使Shell脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0时表示成功,否则(非0值)表示失败或异常。 使用专门的测试工具——test命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为0表示条件成立)。 使用test测试命令时,有以下两种形式:
重构——38以卫语句取代嵌套条件表达式(Replace Nested Conditional with Guard Clause) 以卫语句取代嵌套条件表达式(Replace Nested Conditional with Guard Clause):函数中的条件逻辑使人难以看清正常的执行路径;使用卫语句表现所有特殊情况
相关文章
- C#将Word转换成PDF方法总结(基于Office和WPS两种方案)
- C#中格式化数据的输出
- Mark 创建路径(c#)-动态分段
- C#泛型委托Predicate、Action、Func
- c# 泛型原理(旧)
- Asp.net(C#) windows 服务{用于实现计划任务,事件监控等}
- [c#基础]泛型集合的自定义类型排序
- c# 泛型原理(旧)
- C# 实体类序列化与反序列化二 (DataContractSerializer)
- C# 使用LINQ、泛型、Index函数优化switch(或者多条if)语句
- C# 将数据写入当前程序安装目录某文件夹下
- C# FileStream.Read Method
- atitit.泛型编程总结最佳实践 vO99 java c++ c#.net php
- C# 泛型(Generic)
- (八十八)c#Winform自定义控件-转子
- C#开发的OpenRA的mod配置文件的容器Manifest类
- c# 动态实例化一个泛型类
- C#实现简单的串口通信