public char this[int i] { get { if (StringBuilder == null) return String[Start + i]; else return StringBuilder[Start + i]; } }