title: LINQ conditional aggregation based on next elements' values
body: <p>What's a good LINQ equivalent of this pesudo-code: "given a list of strings, for each string that doesn't contain a tab character, concatenate it (with a pipe delimiter) to the end of the previous string, and return the resulting sequence" ?</p>
  
  <p><strong>More Info:</strong> </p>
  
  <p>I have a <code>List&lt;string&gt;</code> representing lines in a tab-delimited text file. The last field in each line is always a multiline text field, and the file was generated by a buggy system that mishandles fields with embedded newlines. So I end up with a list like this:</p>
  
  <pre><code>1235 \t This is Record 1
  7897 \t This is Record 2
  8977 \t This is Record 3
  continued on the next line
  and still continued more
  8375 \t This is Record 4
  </code></pre>
  
  <p>I'd like to coalesce this list by concatenating all the orphan lines (lines with no tab characters) to the end of the previous line. Like this:</p>
  
  <pre><code>1235 \t This is Record 1
  7897 \t This is Record 2
  8977 \t This is Record 3|continued on the next line|and still continued more
  8375 \t This is Record 4
  </code></pre>
  
  <p>Solving this with a <code>for()</code> loop would be easy, but I'm trying to improve my LINQ skills and I was wondering if there is a reasonably efficient LINQ solution to this problem. Is there?</p>