public int CompareTo(StringHandle that) { if (_type == StringHandleType.UTF8 && that._type == StringHandleType.UTF8) { return(_bufferReader.Compare(_offset, _length, that._offset, that._length)); } else { return(string.Compare(this.GetString(), that.GetString(), StringComparison.Ordinal)); } }