StringBuilder.Insert Method (Int32, Char(), Int32, Int32)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Inserts the string representation of a specified subarray of Unicode characters into this instance at the specified character position.
Assembly: mscorlib (in mscorlib.dll)
'Declaration Public Function Insert ( _ index As Integer, _ value As Char(), _ startIndex As Integer, _ charCount As Integer _ ) As StringBuilder
Parameters
- index
- Type: System.Int32
The position in this instance where insertion begins.
- value
- Type:
System.Char
()
A character array.
- startIndex
- Type: System.Int32
The starting index within value.
- charCount
- Type: System.Int32
The number of characters to insert.
Return Value
Type: System.Text.StringBuilderA reference to this instance after the insert operation has completed.
| Exception | Condition |
|---|---|
| ArgumentNullException | value is Nothing, and startIndex and charCount are not zero. |
| ArgumentOutOfRangeException | index, startIndex, or charCount is less than zero. -or- index is greater than the length of this instance. -or- startIndex plus charCount is not a position within value. -or- Enlarging the value of this instance would exceed its maximum capacity. |
The following code example demonstrates the Insert method.
Imports System.Text Class Example ' index: 012345 Private Shared initialValue As String = "--[]--" Private Shared sb As StringBuilder Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock) Dim xyz As String = "xyz" Dim abc As Char() = {"a"c, "b"c, "c"c} Dim star As Char = "*"c Dim obj As [Object] = 0 Dim xBool As Boolean = True Dim xByte As Byte = 1 Dim xInt16 As Short = 2 Dim xInt32 As Integer = 3 Dim xInt64 As Long = 4 Dim xDecimal As [Decimal] = 5 Dim xSingle As Single = 6.6F Dim xDouble As Double = 7.7 ' The following types are not CLS-compliant. ' Dim xUInt16 As System.UInt16 = 8 ' Dim xUInt32 As System.UInt32 = 9 ' Dim xUInt64 As System.UInt64 = 10 ' Dim xSByte As System.SByte = - 11 ' outputBlock.Text &= "StringBuilder.Insert method" & vbCrLf sb = New StringBuilder(initialValue) sb.Insert(3, xyz, 2) Show(outputBlock, 1, sb) sb.Insert(3, xyz) Show(outputBlock, 2, sb) sb.Insert(3, star) Show(outputBlock, 3, sb) sb.Insert(3, abc) Show(outputBlock, 4, sb) sb.Insert(3, abc, 1, 2) Show(outputBlock, 5, sb) sb.Insert(3, xBool) ' True Show(outputBlock, 6, sb) sb.Insert(3, obj) ' 0 Show(outputBlock, 7, sb) sb.Insert(3, xByte) ' 1 Show(outputBlock, 8, sb) sb.Insert(3, xInt16) ' 2 Show(outputBlock, 9, sb) sb.Insert(3, xInt32) ' 3 Show(outputBlock, 10, sb) sb.Insert(3, xInt64) ' 4 Show(outputBlock, 11, sb) sb.Insert(3, xDecimal) ' 5 Show(outputBlock, 12, sb) sb.Insert(3, xSingle) ' 6.6 Show(outputBlock, 13, sb) sb.Insert(3, xDouble) ' 7.7 Show(outputBlock, 14, sb) ' The following Insert methods are not CLS-compliant. ' sb.Insert(3, xUInt16) ' 8 ' sb.Insert(3, xUInt32) ' 9 ' sb.Insert(3, xUInt64) ' 10 ' sb.Insert(3, xSByte) ' -11 End Sub 'Main Public Shared Sub Show(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal overloadNumber As Integer, ByVal sbs As StringBuilder) outputBlock.Text += String.Format("{0,2:G} = {1}", overloadNumber, sbs.ToString()) & vbCrLf sb = New StringBuilder(initialValue) End Sub 'Show End Class 'Sample ' 'This example produces the following results: ' 'StringBuilder.Insert method ' 1 = --[xyzxyz]-- ' 2 = --[xyz]-- ' 3 = --[*]-- ' 4 = --[abc]-- ' 5 = --[bc]-- ' 6 = --[True]-- ' 7 = --[0]-- ' 8 = --[1]-- ' 9 = --[2]-- '10 = --[3]-- '11 = --[4]-- '12 = --[5]-- '13 = --[6.6]-- '14 = --[7.7]-- '