private static bool _equals_non_null(Substring substring1, string substring2) { if (object.ReferenceEquals(substring1, substring2)) { return(true); } if (substring1._length == substring2.Length) { if (object.ReferenceEquals(substring1.String, substring2) && substring1._start == 0) { return(true); } var end = substring1._start + substring1._length; for (int i = substring1._start, j = 0; i < end; ++i, ++j) { if (substring1.String[i] != substring2[j]) { return(false); } } return(true); } return(false); }
public Enumerator(Substring substring) { Assert.IsNotNull(substring); _substring = substring; _string = substring.String; _position = substring._start; _maxPosition = _position + substring._length; _current = _string[_position]; }
private static bool _equals(Substring substring1, string substring2) { if (substring1 == null) { if (substring2 == null) { return(true); } return(false); } else { if (substring2 == null) { return(false); } return(_equals_non_null(substring1, substring2)); } }