LINQ:文字列コレクションで複数キーワードのOR検索をするには?[C#、VB]

ド・モルガンの法則を使ってOR検索をメソッドチェーンとした場合の実行結果一つ目の条件(「"ぶた"」を含むか)が偽のときだけ二つ目の条件(「"まつり"」を含むか)の判定が行われており、ショートサーキット評価になっている。前掲のコードを見ても、Whereメソッドのチェーンの他にはExceptメソッドを最後に1回だけ余分に実行しているだけであり、先ほどのUnionメソッドを多数回実行するコードよりは効率がよいだろう。ただし、コードが理解しにくくなるのが欠点である。

ド・モルガンの法則を使ってOR検索をメソッドチェーンとした場合の実行結果一つ目の条件(「"ぶた"」を含むか)が偽のときだけ二つ目の条件(「"まつり"」を含むか)の判定が行われており、ショートサーキット評価になっている。前掲のコードを見ても、Whereメソッドのチェーンの他にはExceptメソッドを最後に1回だけ余分に実行しているだけであり、先ほどのUnionメソッドを多数回実行するコードよりは効率がよいだろう。ただし、コードが理解しにくくなるのが欠点である。