我经常发现自己写条件语句类似以下内容:C#语法糖类似于SQL的IN比较?
if(Path.GetExtension(filename) == ".pdf" || Path.GetExtension(filename)== ".doc")
{
// do something
}
调用Path.GetExtension()每一次每一个文件扩展名我要测试似乎有点多余。当然,我可以做这样的事情:
string fileExtension = Path.GetExtension(filename);
if(fileExtension == ".pdf" || fileExtension == ".doc")
{
// do something
}
但考虑到我只使用了比较,并没有别的fileExtension,宣布为文件扩展名的变量似乎并不很优雅。
在SQL中,我可以使用IN操作符:
SELECT file FROM table WHERE fileExtension IN(".pdf", ".doc")
,让我没有任何重复进行测试。
C#是否提供类似于SQL中的任何语法糖,在哪里我不必重复被比较的变量或相等运算符?
我期待着这样的事情。我认为为了比较而必须实例化一个新数组是有点不幸的,但这确实表达了这个意图。 – Andrew 2012-07-05 18:28:50