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

namespace StringBuilderInfo
{
   class Program
   {
      static void Main(string[] args)
      {
         StringBuilder sb = new StringBuilder(100, 1000);               // Anfangsgröße 100, maximale Größe 1000
         ZeigeStatus(sb);

         sb = new StringBuilder();                                      // StringBuilder-Objekt mit Standardwerten
         ZeigeStatus(sb);

         sb.Append("Hallo Welt!");                                      // Erste Zeichenfolge anhängen
         ZeigeStatus(sb);

         sb.Insert(6, "du schöne ");                                    // weitere Zeichenfolge anhängen
         ZeigeStatus(sb);                                               // erfordert eine Vergrößerung des Objekts
      }
      
      private static void ZeigeStatus(StringBuilder sb)
      {
         Console.WriteLine("\nKapazität (max): {0}", sb.MaxCapacity);   // maximal zulässige Größe
         Console.WriteLine("Kapazität      : {0}", sb.Capacity);        // aktuelle Größe
         Console.WriteLine("Länge          : {0}", sb.Length);          // Länge der enthaltenen Zeichenfolge
         Console.WriteLine("Inhalt         : {0}\n", sb);               // die gespeicherte Zeichenfolge
      }
   }
}
