 <p>Someone gave me the wonderful answer of:</p> <pre><code>var filters = new List&lt;Func&lt;f_results, bool&gt;&gt;(); if (comparePrices) filters.add((p =&gt; (double)p.Price &gt;= priceFrom &amp;&amp; (double)p.Price &lt;= priceTo); if (productQuery) filters.add(p =&gt; p.sku == productSku); result = query.find (p =&gt; filters.All(filter =&gt; filter(p))); </code></pre>