Export (0) Print
Expand All

StringBuilder.Insert Method (Int32, Char[], Int32, Int32)

Inserts the string representation of a specified subarray of Unicode characters into this instance at the specified character position.

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

[SecuritySafeCriticalAttribute]
public StringBuilder Insert(
	int index,
	char[] value,
	int startIndex,
	int charCount
)

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.StringBuilder
A reference to this instance after the insert operation has completed.

ExceptionCondition
ArgumentNullException

value is null, 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.

Existing characters are shifted to make room for the new text. The capacity of this instance is adjusted as needed.

The following code example demonstrates the Insert method.


using System;
using System.Text;

class Example
{
   //                         index: 012345
   static string initialValue = "--[]--";
   static StringBuilder sb;

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      string xyz = "xyz";
      char[] abc = { 'a', 'b', 'c' };
      char star = '*';
      Object obj = 0;

      bool xBool = true;
      byte xByte = 1;
      short xInt16 = 2;
      int xInt32 = 3;
      long xInt64 = 4;
      Decimal xDecimal = 5;
      float xSingle = 6.6F;
      double xDouble = 7.7;

      // The following types are not CLS-compliant.
      ushort xUInt16 = 8;
      uint xUInt32 = 9;
      ulong xUInt64 = 10;
      sbyte xSByte = -11;
      //
      outputBlock.Text += "StringBuilder.Insert method" + "\n";
      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.ToString());
      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.ToString());     // True
      Show(outputBlock, 6, sb);

      sb.Insert(3, obj.ToString());       // 0
      Show(outputBlock, 7, sb);

      sb.Insert(3, xByte.ToString());     // 1
      Show(outputBlock, 8, sb);

      sb.Insert(3, xInt16.ToString());    // 2
      Show(outputBlock, 9, sb);

      sb.Insert(3, xInt32.ToString());    // 3
      Show(outputBlock, 10, sb);

      sb.Insert(3, xInt64.ToString());    // 4
      Show(outputBlock, 11, sb);

      sb.Insert(3, xDecimal.ToString());  // 5
      Show(outputBlock, 12, sb);

      sb.Insert(3, xSingle.ToString());   // 6.6
      Show(outputBlock, 13, sb);

      sb.Insert(3, xDouble.ToString());   // 7.7
      Show(outputBlock, 14, sb);

      // The following Insert methods are not CLS-compliant.
      sb.Insert(3, xUInt16.ToString());   // 8
      Show(outputBlock, 15, sb);

      sb.Insert(3, xUInt32.ToString());   // 9
      Show(outputBlock, 16, sb);

      sb.Insert(3, xUInt64.ToString());   // 10
      Show(outputBlock, 17, sb);

      sb.Insert(3, xSByte.ToString());    // -11
      Show(outputBlock, 18, sb);
      //
   }

   public static void Show(System.Windows.Controls.TextBlock outputBlock, int overloadNumber, StringBuilder sbs)
   {
      outputBlock.Text += String.Format("{0,2:G} = {1}", overloadNumber, sbs.ToString()) + "\n";
      sb = new StringBuilder(initialValue);
   }
}
/*
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]--
15 = --[8]--
16 = --[9]--
17 = --[10]--
18 = --[-11]--

*/


Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show:
© 2014 Microsoft