using System;
using System.Text;
using System.Collections;
using System.Collections.Generic;

namespace Extrahieren
{
   class Program
   {
      static void Main(string[] args)
      {
         ArrayList arrayListe = new ArrayList(1);
         string eingabe;

         Console.WriteLine("Kapazität des Arrays: {0} Elemente", arrayListe.Capacity);
         Console.WriteLine("Anzahl der Elemente : {0}", arrayListe.Count);
         Console.WriteLine();

         do
         {
            // Eingabe einlesen
            Console.Write("Geben Sie eine Zahl ein (beenden mit Eingabe): ");
            eingabe = Console.ReadLine();

            // Eine leere Eingabe beendet die Schleife
            if (eingabe.Equals(""))
               break;
            else
            {
               // Element in die Liste eintragen
               try
               {
                  arrayListe.Add(int.Parse(eingabe));
               }
               catch (FormatException)
               {
                  Console.WriteLine("Ungültige Eingabe wird ignoriert!\n");
               }

               // Aktuellen Inhalt der ArrayList anzeigen
               Console.Write("Inhalt des Arrays   : ");
               foreach (int i in arrayListe)
                  Console.Write(i + " ");
               Console.WriteLine();

               Console.WriteLine("Kapazität des Arrays: {0} Elemente", arrayListe.Capacity);
               Console.WriteLine("Anzahl der Elemente : {0}", arrayListe.Count);
               Console.WriteLine();
            }
         } while (true);

         // Größe des Arrays an seinen tatsächlichen Inhalt anpassen
         arrayListe.TrimToSize();
         Console.WriteLine("TrimToSize durchgeführt. Neue Kapazität des Arrays: {0} Elemente\n", arrayListe.Capacity);
      }

   }

}
