예제 #1
0
            static void Main(string[] args)
            {
                DynString S = new DynString();

                DynString T = new DynString("world");

                S.Concat(T);

                T = new DynString("Hello ");
                S.Insert(T, 0);

                S.Insert(new DynString(" cruel"), 5);
                Console.WriteLine("S = " + S);

                Console.WriteLine("S.Substring(0, 4) = " + S.Substring(0, 4));

                S.Erase(6, 11);
                Console.WriteLine("S = " + S);

                Console.ReadLine();

                /*
                 * Resultado esperado:
                 * S = Hello cruel
                 * S.Substring(0, 4) = Hello
                 * S = Hello
                 *
                 */
            }
예제 #2
0
        // Devolver el substring que empieza en la posicion start hasta la posicion
        // end (ambos extremos son incluyentes)
        public DynString Substring(int start, int end)
        {
            DynString subString = new DynString();

            subString.arr = new char[end + 1 - start];

            for (int i = 0; i < subString.arr.Length; i++)
            {
                subString.arr[i] = arr[start];
                start++;
            }
            string mySubstring = new string(subString.arr);

            DynString ret = new DynString(mySubstring);

            return(ret);
        }
예제 #3
0
 // Insertar el MyString str justamente antes de la posicion pos. Debes rodar
 // los caracteres desde la posicion pos hasta la ultima hacia la derecha.
 // Si pos == 0, inserta al inicio de MyString; si pos == Size, inserta
 // al final de MyString (ver uso en el metodo Concat)
 public void Insert(DynString str, int pos)
 {
     //DynString mynewString = new DynString();
     //mynewString.arr = new char[Size + str.Size];
     if (Size == 0)
     {
         Size += 3;
     }
     if (Size < str.Size + Size)
     {
         Array.Resize(ref arr, Size * FACTOR_CRECIMIENTO);
         Size *= FACTOR_CRECIMIENTO;
     }
     if (Size > str.Size)
     {
         for (int i = 0; i < str.Size; i++)
         {
             arr[pos] = str.arr[i];
             pos++;
         }
     }
 }
예제 #4
0
 // Concatenar el str al final de este string
 public void Concat(DynString str)
 {
     Insert(str, Size);
 }