illustrates the use of StringBuilder objects


   

/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy

Publisher: Sybex;
ISBN: 0782129110
*/

/*
  Example9_2.cs illustrates the use of StringBuilder objects
*/

using System;
using System.Text;

public class Example9_2
{

  public static void DisplayProperties(
    string name,
    StringBuilder myStringBuilder
  )
  {

    // display the properties for the StringBuilder object
    Console.WriteLine(name + ".Length = " +
      myStringBuilder.Length);
    Console.WriteLine(name + ".Capacity = " +
      myStringBuilder.Capacity);
    Console.WriteLine(name + ".MaxCapacity = " +
      myStringBuilder.MaxCapacity);

  }


  public static void Main()
  {

    // create some StringBuilder objects
    StringBuilder myStringBuilder = new StringBuilder();
    int capacity = 50;
    StringBuilder myStringBuilder2 = new StringBuilder(capacity);
    int maxCapacity = 100;
    StringBuilder myStringBuilder3 =
      new StringBuilder(capacity, maxCapacity);
    string myString = "To be or not to be";
    StringBuilder myStringBuilder4 = new StringBuilder(myString);
    int startIndex = 0;
    int stringLength = myString.Length;
    StringBuilder myStringBuilder5 =
      new StringBuilder(myString, startIndex, stringLength, capacity);

    // display the StringBuilder objects' properties
    DisplayProperties("myStringBuilder", myStringBuilder);
    DisplayProperties("myStringBuilder2", myStringBuilder2);
    DisplayProperties("myStringBuilder3", myStringBuilder3);
    DisplayProperties("myStringBuilder4", myStringBuilder4);
    DisplayProperties("myStringBuilder5", myStringBuilder5);

    // use the Append() method to append two strings, an int, and a bool
    // to myStringBuilder
    myStringBuilder.Append(myString);
    myStringBuilder.Append(", that is the question ... ");
    int myInt = 1234;
    myStringBuilder.Append(myInt);
    bool myBool = true;
    myStringBuilder.Append(myBool);

    // use the Append() method to append a character to myStringBuilder
    myStringBuilder.Append('z', 5);

    // use the Append() method to append a substring to myStringBuilder
    myStringBuilder.Append("Here's another string", 0, 4);

    // display the contents of myStringBuilder
    Console.WriteLine("myStringBuilder = " + myStringBuilder);

    // use the AppendFormat() method to add a formatted
    // string containing a floating point number to myStringBuilder
    float myFloat = 1234.56789f;
    myStringBuilder.AppendFormat("{0, 10:f3}", myFloat);
    Console.WriteLine("myStringBuilder = " + myStringBuilder);

    // use the Insert() method to insert strings into myStringBuilder
    myStringBuilder.Insert(6, "friends, ");
    myStringBuilder.Insert(22, "Romans, ", 3);
    Console.WriteLine("myStringBuilder = " + myStringBuilder);

    // use the Remove() method to remove part of myStringBuilder
    myStringBuilder.Remove(14, 7);
    Console.WriteLine("myStringBuilder = " + myStringBuilder);

    // use the Replace() method to replace part of myStringBuilder
    myStringBuilder.Replace(',', '?');
    Console.WriteLine("myStringBuilder = " + myStringBuilder);

    // use the ToString() method to convert myStringBuilder
    // to a string
    string myString2 = myStringBuilder.ToString();
    Console.WriteLine("myString2 = " + myString2);

  }

}