背景:
判断某个变量是不是.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 用法
以上就是c# 使用linq、泛型、index函数优化switch(或者多条if)语句的内容。