title: Is there a lazy `String.Split` in C#
body: <p>All <a href="https://msdn.microsoft.com/en-us/library/b873y76a%28v=vs.110%29.aspx" rel="noreferrer"><code>string.Split</code></a> methods seems to return an array of strings (<code>string[]</code>).</p>
  
  <p>I'm wondering if there is a lazy variant that returns an <code>IEnumerable&lt;string&gt;</code> such that one for large strings (or an infinite length <code>IEnumerable&lt;char&gt;</code>), when one is only interested in a first subsequences, one saves computational effort as well as memory. It could also be useful if the string is constructed by a device/program (network, terminal, pipes) and the entire strings is thus not necessary immediately fully available. Such that one can already process the first occurences.</p>
  
  <p>Is there such method in the .NET framework?</p>