我經常發現自己寫條件語句類似以下內容: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