次のような条件文を書いていることがよくあります。
if(Path.GetExtension(filename) == ".pdf" || Path.GetExtension(filename)== ".doc")
{
// do something
}
テストするファイル拡張子ごとに Path.GetExtension() を 1 回呼び出すのは、少し冗長に思えます。確かに、私は次のようなことができます:
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 の in に似たシンタックス シュガーを提供しますか?