Namespace: System.Text

StringBuilder Class

StringBuilder

class

Summary

Represents a mutable string of characters.

The StringBuilder class is a mutable sequence of characters. It is similar to the String class, but it is more efficient when you need to perform a series of modifications to a string. For example, if you are concatenating strings in a loop, using StringBuilder can be significantly faster than repeatedly concatenating String objects.

Remarks

StringBuilder objects are designed for situations where you need to build a string by appending or inserting characters, substrings, or other objects.

Unlike String objects, which are immutable, StringBuilder objects are mutable. This means that operations that modify a StringBuilder object do not create a new object; they modify the existing object in place. This can lead to performance improvements when dealing with large strings or performing many modifications.

The capacity of a StringBuilder object is the number of characters that the object can hold before its internal buffer must be reallocated. The Capacity property can be set to a specific value. If the length of the string that is being built exceeds the capacity, the capacity is automatically increased.

Syntax

public sealed class StringBuilder
public StringBuilder (string value);
public StringBuilder (int capacity);

Members

Name Description
StringBuilder() Initializes a new instance of the StringBuilder class to the default initial size.
StringBuilder(string value) Initializes a new instance of the StringBuilder class by using the specified string.
StringBuilder(int capacity) Initializes a new instance of the StringBuilder class by using the specified initial capacity.
Capacity Gets or sets the current number of characters the instance can hold without reallocation.
Length Gets or sets the length, in characters, of the current StringBuilder.
Append(...) Appends the string representation of a specified value to the end of this instance. Overloaded for various types.
Insert(...) Inserts the string representation of a specified value at a specified position in this instance. Overloaded for various types.
Remove(int startIndex, int length) Removes a specified number of characters from the current StringBuilder instance, starting at a specified position.
ToString() Converts this instance to its string representation.

StringBuilder()

Initializes a new instance of the StringBuilder class to the default initial size.

StringBuilder(string value)

Initializes a new instance of the StringBuilder class by using the specified string.

Parameters
Name Type Description
value string The initial string to append to the StringBuilder.

StringBuilder(int capacity)

Initializes a new instance of the StringBuilder class by using the specified initial capacity.

Parameters
Name Type Description
capacity int The maximum number of characters that the new instance can hold before its internal buffer must be reallocated.

Capacity Property

Gets or sets the current number of characters that the instance can hold without reallocation.

Length Property

Gets or sets the length, in characters, of the current StringBuilder.

Append(...) Methods

Appends the string representation of a specified value to the end of this instance. There are numerous overloads for appending various data types.

Example:

// Appends a string
StringBuilder sb = new StringBuilder("Hello");
sb.Append(" World!"); // sb is now "Hello World!"

// Appends an integer
sb.Append(123); // sb is now "Hello World!123"

Insert(...) Methods

Inserts the string representation of a specified value at a specified position in this instance. Overloaded for various data types.

Example:

StringBuilder sb = new StringBuilder("Hello World!");
sb.Insert(6, "Beautiful "); // sb is now "Hello Beautiful World!"

Remove(int startIndex, int length) Method

Removes a specified number of characters from the current StringBuilder instance, starting at a specified position.

Parameters
Name Type Description
startIndex int The position to begin removing characters.
length int The number of characters to remove.

Example:

StringBuilder sb = new StringBuilder("Hello Beautiful World!");
sb.Remove(6, 10); // sb is now "Hello World!"

ToString() Method

Converts this instance to its string representation.

Returns

string: A string that represents the contents of this instance.

Example

The following example demonstrates how to use the StringBuilder class to build a string efficiently.

using System;
using System.Text;

public class Example
{
    public static void Main()
    {
        StringBuilder sb = new StringBuilder();

        sb.Append("This is the first part. ");
        sb.Append("This is the second part. ");
        sb.Insert(0, "Beginning: ");
        sb.Append("And this is the end.");

        Console.WriteLine(sb.ToString());
        // Output: Beginning: This is the first part. This is the second part. And this is the end.
    }
}