private static int CalculateSplitIndex(StringSlice first, StringSlice second) { var splitIndex = 0; using (var firstEnumerator = first.GetEnumerator()) { using (var secondEnumerator = second.GetEnumerator()) { while (firstEnumerator.MoveNext() && secondEnumerator.MoveNext()) { if (firstEnumerator.Current != secondEnumerator.Current) { break; } splitIndex++; } } } return(splitIndex); }