title: LINQ to Objects - any performance benefit in using ToArray / ToList over IEnumerable<string>
body: <p>This is almost undoubtedly a dumb question.  In my defence I'm ill.  Anyway.</p>
  
  <p>I've got an in memory list of objects.  I've used the following expression to pull out the strings I'm interested in from my list of objects:</p>
  
  <pre><code>var myStrings = myListOfObjects.Select(r =&gt; r.MyString);
  </code></pre>
  
  <p>This provides me with an IEnumerable of string.  myStrings will be reused a number of different times in my code later.  What I'm wondering is, is there any performance benefit at all in performing a ToArray or ToList (ie a "greedy" operator) on this prior to making use of it?  (So my operations would be directly against an Array / List.)</p>
  
  <p>For what it's worth myStrings will be re-used in it's entirety when it is used.</p>