title: Linq. Is chaining Select/Where clauses slower?
body: <p>If I chain clauses such as</p>
  
  <pre><code>var results = elements
      .Where(n =&gt; n &gt; 3)
      .Where(n =&gt; n % 2 == 0);
  </code></pre>
  
  <p>is this slower than just</p>
  
  <pre><code>var results = elements.Where(n =&gt; n &gt; 3 &amp;&amp; n % 2 == 0);
  </code></pre>
  
  <p>Explain why or why not?</p>
  
  <p>EDIT: It seems that the consensus is that even POCO objects iterate twice. If this is the case can someone explain why Microsoft wouldn't combine these predicates. I stumbled across <code>Enumerable.CombinePredicates</code> that I thought did this. Can someone please explain what this does then.</p>