public static string GetSubstring(string /*!*/ self, [DefaultProtocol] int start, [DefaultProtocol] int count) { if (!MutableStringOps.NormalizeSubstringRange(self.Length, ref start, ref count)) { return((start == self.Length) ? self : null); } return(self.Substring(start, count)); }
public static string GetSubstring(ConversionStorage <int> /*!*/ fixnumCast, string /*!*/ self, [NotNull] Range /*!*/ range) { int begin, count; if (!MutableStringOps.NormalizeSubstringRange(fixnumCast, range, self.Length, out begin, out count)) { return(null); } return((count < 0) ? self : GetSubstring(self, begin, count)); }