IEnumerable <Lyrics> ParseLyrics(string lyrics) { Lyrics current = new Lyrics(); using (var r = new StringReader(lyrics)) { while (true) { var line = r.ReadLine(); if (line == null) { break; } if (current.AddLine(line)) { if (!string.IsNullOrEmpty(current.Text)) { yield return(current); } current = new Lyrics(line); } } } if (!string.IsNullOrEmpty(current.Text)) { yield return(current); } }