static void Main(string[] args)
 {
     string S = "abcdefghi";
     IString str;
     str = new SeqString(S);
     IString str4 = new SeqString("mnqp");
     Console.WriteLine(str.Insert(0, str4));
 }
 /// <summary>
 /// ��ָ��λ��ȡ�Ӵ�
 /// </summary>
 /// <param name="StartIndex">ȡ�Ӵ���λ��</param>
 /// <param name="Count">�Ӵ��ij���</param>
 /// <returns>ȡ�õ��Ӵ�</returns>
 public IString SubString(int StartIndex, int Count)
 {
     if (StartIndex < 0 || StartIndex > Length - 1)
         throw new Exception("ȡ�Ӵ�λ����Ч.");
     if (Count < 0)
         throw new Exception("�Ӵ�����С����.");
     int left = Length - StartIndex;//ȡ�Ӵ���󳤶�
     Count = (left < Count) ? left : Count;//�Ӵ�ʵ�ʳ���
     SeqString str = new SeqString(Count);
     for (int i = 0; i < Count; i++)
         str.CStr[i] = CStr[i + StartIndex];
     return str;
 }
        /// <summary>
        /// ��ָ��λ�ò����Ӵ�
        /// </summary>
        /// <param name="StartIndex">������</param>
        /// <param name="S">������Ӵ�</param>
        /// <returns>���봮��õ����´�</returns>
        public IString Insert(int StartIndex, IString S)
        {
            if (S == null)
                throw new Exception("�����ַ���Ϊnull.");

            if (StartIndex < 0 || StartIndex > Length)
                throw new Exception("����λ����Ч.");

            SeqString str = new SeqString(S.Length + Length);
            for (int i = 0; i < StartIndex; i++)
                str.CStr[i] = CStr[i];//ע��str[i]ֱ��ʹ���Ǵ����
            for (int i = 0; i < S.Length; i++)
                str.CStr[i + StartIndex] = S[i];
            for (int i = StartIndex; i < Length; i++)
                str.CStr[i + S.Length] = CStr[i];
            return str;
        }
 /// <summary>
 /// ��ָ��λ���Ƴ��Ӵ�
 /// </summary>
 /// <param name="StartIndex">�Ƴ���λ��</param>
 /// <param name="Count">�Ƴ��ij���</param>
 /// <returns>�Ƴ���õ����´�</returns>
 public IString Remove(int StartIndex, int Count)
 {
     if (StartIndex < 0 || StartIndex > Length - 1)
         throw new Exception("�Ƴ�λ����Ч.");
     if (Count < 0)
         throw new Exception("�Ƴ��ַ�����С����.");
     int left = Length - StartIndex;//����Ƴ��ַ�����
     Count = (left < Count) ? left : Count;//ʵ���Ƴ��ַ�����
     SeqString str = new SeqString(Length - Count);
     for (int i = 0; i < StartIndex; i++)
         str.CStr[i] = CStr[i];
     for (int i = StartIndex + Count; i < Length; i++)
         str.CStr[i - Count] = CStr[i];
     return str;
 }
 /// <summary>
 /// ��ǰ���Ŀ���
 /// </summary>
 /// <returns>��ǰ���Ŀ���</returns>
 public IString Clone()
 {
     SeqString str = new SeqString(Length);
     for (int i = 0; i < Length; i++)
         str.CStr[i] = CStr[i];
     return str;
 }