Working with StringBuilder in C#

This Post will look in to several Methods provided with StringBuilder class. There are several ways to declare and initialize an instance of StringBuilder class.

// declare StringBuilder instance
StringBuilder sb;

// default constructor
sb = new StringBuilder();

// new stringbuilder with initial capacity 
sb = new StringBuilder(10);

// new stringbuilder with with a new string
sb = new StringBuilder("codingphobia.com");

// initial with initial capacity
// and max limit over capacity
sb = new StringBuilder(10, 100);

// new stringbuilder with with a new string
// and max limit over capacity
sb = new StringBuilder("codingphobia.com", 1000);

// new stringbuilder with new string
// start index to place string
// length of string
//  max limit over capacity
sb = new StringBuilder("codingphobia.com", 10, 16, 1000);

Here are some of the built-in methods

// append string to stringbuilder
Console.WriteLine(sb.Append("First"));

// get current capacity
Console.WriteLine("current string capacity: " + sb.Capacity);

// compare string with stringbuilder
Console.WriteLine(sb.Equals("First"));

// get the hash code for the string builder
Console.WriteLine(sb.GetHashCode());

// get the type for the object
Console.WriteLine(sb.GetType());

// get the length for the string
Console.WriteLine(sb.Length);

// gt the capacity for stringbuilder
Console.WriteLine(sb.Capacity);

// gt the max capacity for stringbuilder
Console.WriteLine(sb.MaxCapacity);

// get the string anfd write to console
Console.WriteLine(sb);

// insert char at specific index
Console.WriteLine(sb.Insert(2, '-'));

// replace a char at specific index
Console.WriteLine(sb.Replace('-', ' '));

// remove a char from specific index
Console.WriteLine(sb.Remove(2, 1));

Following methods allows us to extend our stringbuilder with appending value at the end.

// Add string at the end of stringbuilder
sb.Append("new string");

// Add string with end of line at the end of stringbuilder
sb.AppendLine("new string");

// Add string at the end of stringbuilder, 
// with information about the format etc
sb.AppendFormat(new CultureInfo("en-US"),
                "# # # ### ##", new char[] { 'A', 'S', 'D', 'F' });

Following methods show how can we extend our string builder using insert method which has 18 overloads.
most common are as follows

 // insert char at 0 index 
 sb.Insert(0, '0');

 // insert bool at 0 index
 sb.Insert(0, true);

 // insert char Array at 0 index
sb.Insert(0, new char[] { '0', '1' });

// insert double value at 0 index
sb.Insert(0, 10.00);

// insert decimal value at 0 index
sb.Insert(0, 10);

// insert char Array value, from  index 2 to 3,
// at index 0 of string builder
sb.Insert(0, new char[] { '1', '2', '3', '4' }, 1, 1);

// insert string at 0 index
sb.Insert(0, "a String");
Advertisements