【发布时间】:2012-07-06 04:56:36
【问题描述】:
我经常发现自己在编写类似于以下的条件句:
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 的语法糖,我不必重复被比较的变量或相等运算符?
【问题讨论】:
标签: c# syntactic-sugar