StringBuilder.Append Method (String, Int32, Int32)
Updated: January 2012
Appends a copy of a specified substring to this instance.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
- Type: System.String
The string that contains the substring to append.
- startIndex
- Type: System.Int32
The starting position of the substring within value.
- count
- Type: System.Int32
The number of characters in value to append.
Return Value
Type: System.Text.StringBuilderA reference to this instance after the append operation has completed.
| Exception | Condition |
|---|---|
| ArgumentNullException |
value is null, and startIndex and count are not zero. |
| ArgumentOutOfRangeException |
count less than zero. -or- startIndex less than zero. -or- startIndex + count is greater than the length of value. -or- 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 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); Console.WriteLine(sb); // 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, when you instantiate the StringBuilder object by calling the StringBuilder 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.
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.