Split a String by an indexes array
Disclaimer: I'm not actually very familiar with C#. I'll also refrain from the style review and let someone more familiar with common practices take a crack.

You can prepend 0 and append line.Length to your array, simplifying the logic. There's probably a better way, but I got it working with a List:

List&lt;int&gt; list = new List&lt;int&gt;();
list.Add(0);
list.AddRange(markers);
list.Add(line.Length);

for (int i = 0; i &lt; list.Count - 1; i++)
{
    string value = line.Substring(list[i], list[i + 1] - list[i]);
    Console.WriteLine(value);
}