title: Is File.ReadAllLines lazy loaded when using with LINQ Where?
body: <p>I would like to know if the following code is lazy evaluated or will crash in the way i handle possible exception of <code>ReadAllLines()</code>. I know for sure that <code>Where</code> clause is lazy evaluated but i'm not sure when i use it with <code>ReadAllLines()</code>.
  A possible explanation of how and why would be appreciated.</p>
  
  <p><img src="https://i.stack.imgur.com/MAVBu.png" alt="File.ReadAllLines Exceptions"></p>
  
  <pre><code>var fileLines = File.ReadAllLines(filePath).Where(line =&gt;
  {
      line = line.Trim();
      return line.Contains("hello");
  });
  
  string search;
  try
  {
      search = fileLines.Single();
  }
  catch (Exception exception)
  {
      ...log the exception...
  }
  </code></pre>
  
  <p>Thanks in advance</p>