public int MoveWith(ref IndexedCharEnumerator other) { var start = -1; while (MoveNext()) { if (other.Current != Current) { continue; } start = Index; while (other.MoveNext() & MoveNext()) { if (other.Current != Current) { break; } } if (other.IsFinished || IsFinished) { break; } Index = start; start = -1; other.Reset(); other.MoveNext(); } return(start); }
public int MoveTo(ref IndexedCharEnumerator other) { while (MoveNext()) { if (other.Current == Current) { return(Index); } } return(-1); }