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

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





上一篇:《iPad开发从入门到精通》——6.4节收藏历史


下一篇:对BMP图像实行二值化处理