StringBuilder.Append Method (String, Int32, Int32)


Appends a copy of a specified substring to this instance.

Namespace:   System.Text
Assembly:  mscorlib (in mscorlib.dll)

public StringBuilder Append(
	string value,
	int startIndex,
	int count


Type: System.String

The string that contains the substring to append.

Type: System.Int32

The starting position of the substring within value.

Type: System.Int32

The number of characters in value to append.

Return Value

Type: System.Text.StringBuilder

A reference to this instance after the append operation has completed.

Exception Condition

value is null, and startIndex and count are not zero.


count less than zero.


startIndex less than zero.


startIndex + count is greater than the length of value.


Enlarging the value of this instance would exceed MaxCapacity.

This method appends the specified range of characters in value to the current instance. If value is null and startIndex and count are both zero, no changes are made.

The Append(String, Int32, Int32) method modifies the existing instance of this class; it does not return a new class instance. Because of this, you can call a method or property on the existing reference and you do not have to assign the return value to a StringBuilder object, as the following example illustrates.

string str = "First;George Washington;1789;1797";
int index = 0;
System.Text.StringBuilder sb = new System.Text.StringBuilder();
int length = str.IndexOf(';', index);      
sb.Append(str, index, length).Append(" President of the United States: ");
index += length + 1;
length = str.IndexOf(';', index) - index;
sb.Append(str, index, length).Append(", from ");
index += length + 1;
length = str.IndexOf(';', index) - index;
sb.Append(str, index, length).Append(" to ");
index += length + 1;
sb.Append(str, index, str.Length - index);
// The example displays the following output:
//    First President of the United States: George Washington, from 1789 to 1797      

The capacity of this instance is adjusted as needed.

Notes to Callers:

In the.NET Framework 4 and the .NET Framework 4.5, when you instantiate the StringBuilder object by calling the StringBuilder(Int32, Int32) constructor, both the length and the capacity of the StringBuilder instance can grow beyond the value of its MaxCapacity property. This can occur particularly when you call the Append and AppendFormat methods to append small strings.

Universal Windows Platform
Available since 4.5
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft