zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C# 使用LINQ、泛型、Index函数优化switch(或者多条if)语句

c#泛型 函数 优化 语句 if 或者 index
2023-09-14 09:03:15 时间
        判断某个变量是不是 .txt.doc.xls.ppt.pdf 中的某一种格式,如果是则执行相应的操作。 方法一:使用泛型 readonly IList String fNames = new List String () { .doc , .txt ,

背景:
        判断某个变量是不是".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

知识拓展:

LINQ 查询语法

Lambda表达式表达式树

LINQ查询的简单用法举例

方法三:使用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):函数中的条件逻辑使人难以看清正常的执行路径;使用卫语句表现所有特殊情况