title: Linq performance: should I first use `where` or `select`
body: <p>I have a large <code>List</code> in memory, from a class that has about 20 <code>properties</code>. </p>
  
  <p>I'd like to filter this list based on just one <code>property</code>, for a particular task I only need a list of that <code>property</code>. So my query is something like:</p>
  
  <pre><code>data.Select(x =&gt; x.field).Where(x =&gt; x == "desired value").ToList()
  </code></pre>
  
  <p>Which one gives me a better performance, using <code>Select</code> first, or using <code>Where</code>?</p>
  
  <pre><code>data.Where(x =&gt; x.field == "desired value").Select(x =&gt; x.field).ToList()
  </code></pre>
  
  <p>Please let me know if this is related to the <code>data type</code> I'm keeping the data in memory, or field's type. Please note that I need these objects for other tasks too, so I can't filter them in the first place and before loading them into memory.</p>