Любая причина, по которой вы не хотите просто использовать Substring
?
string dashed = text.Substring(0, 2) + "-" +
text.Substring(2, 3) + "-" +
text.Substring(7);
Или:
string dashed = string.Format("{0}-{1}-{2}", text.Substring(0, 2),
text.Substring(2, 3), text.Substring(7));
(я предполагаю, что это преднамеренночто вы пропустили два из 0? Непонятно , какие 0, по общему признанию ...)
Очевидно, вы должны проверить, что строка правильной длины в первую очередь ...