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 Function Append (
	value As String,
	startIndex As Integer,
	count As Integer
) As StringBuilder


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.

Dim str As String = "First;George Washington;1789;1797"
Dim index As Integer = 0
Dim sb As New System.Text.StringBuilder()
Dim length As Integer = str.IndexOf(";"c, index)      
sb.Append(str, index, length).Append(" President of the United States: ")
index += length + 1
length = str.IndexOf(";"c, index) - index
sb.Append(str, index, length).Append(", from ")
index += length + 1
length = str.IndexOf(";"c, 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 8
.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