StringBuilder.Insert StringBuilder.Insert StringBuilder.Insert StringBuilder.Insert Method

定义

将指定对象的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a specified object into this instance at a specified character position.

重载

Insert(Int32, String, Int32) Insert(Int32, String, Int32) Insert(Int32, String, Int32) Insert(Int32, String, Int32)

将指定字符串的一个或更多副本插入到此实例中的指定字符位置。Inserts one or more copies of a specified string into this instance at the specified character position.

Insert(Int32, UInt64) Insert(Int32, UInt64) Insert(Int32, UInt64) Insert(Int32, UInt64)

将 64 位无符号整数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a 64-bit unsigned integer into this instance at the specified character position.

Insert(Int32, UInt32) Insert(Int32, UInt32) Insert(Int32, UInt32) Insert(Int32, UInt32)

将 32 位无符号整数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a 32-bit unsigned integer into this instance at the specified character position.

Insert(Int32, UInt16) Insert(Int32, UInt16) Insert(Int32, UInt16) Insert(Int32, UInt16)

将 16 位无符号整数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a 16-bit unsigned integer into this instance at the specified character position.

Insert(Int32, String) Insert(Int32, String) Insert(Int32, String) Insert(Int32, String)

将字符串插入到此实例中的指定字符位置。Inserts a string into this instance at the specified character position.

Insert(Int32, Single) Insert(Int32, Single) Insert(Int32, Single) Insert(Int32, Single)

将单精度浮点数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a single-precision floating point number into this instance at the specified character position.

Insert(Int32, Char[], Int32, Int32) Insert(Int32, Char[], Int32, Int32) Insert(Int32, Char[], Int32, Int32) Insert(Int32, Char[], Int32, Int32)

将指定的 Unicode 字符子数组的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a specified subarray of Unicode characters into this instance at the specified character position.

Insert(Int32, SByte) Insert(Int32, SByte) Insert(Int32, SByte) Insert(Int32, SByte)

将指定的 8 位带符号整数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a specified 8-bit signed integer into this instance at the specified character position.

Insert(Int32, ReadOnlySpan<Char>) Insert(Int32, ReadOnlySpan<Char>) Insert(Int32, ReadOnlySpan<Char>) Insert(Int32, ReadOnlySpan<Char>)
Insert(Int32, Int16) Insert(Int32, Int16) Insert(Int32, Int16) Insert(Int32, Int16)

将指定的 16 位带符号整数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a specified 16-bit signed integer into this instance at the specified character position.

Insert(Int32, Int64) Insert(Int32, Int64) Insert(Int32, Int64) Insert(Int32, Int64)

将 64 位带符号整数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a 64-bit signed integer into this instance at the specified character position.

Insert(Int32, Int32) Insert(Int32, Int32) Insert(Int32, Int32) Insert(Int32, Int32)

将指定的 32 位带符号整数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a specified 32-bit signed integer into this instance at the specified character position.

Insert(Int32, Double) Insert(Int32, Double) Insert(Int32, Double) Insert(Int32, Double)

将双精度浮点数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a double-precision floating-point number into this instance at the specified character position.

Insert(Int32, Decimal) Insert(Int32, Decimal) Insert(Int32, Decimal) Insert(Int32, Decimal)

将十进制数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a decimal number into this instance at the specified character position.

Insert(Int32, Char[]) Insert(Int32, Char[]) Insert(Int32, Char[]) Insert(Int32, Char[])

将指定的 Unicode 字符数组的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a specified array of Unicode characters into this instance at the specified character position.

Insert(Int32, Char) Insert(Int32, Char) Insert(Int32, Char) Insert(Int32, Char)

将指定的 Unicode 字符的字符串表示形式插入到此实例中的指定位置。Inserts the string representation of a specified Unicode character into this instance at the specified character position.

Insert(Int32, Byte) Insert(Int32, Byte) Insert(Int32, Byte) Insert(Int32, Byte)

将指定的 8 位无符号整数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a specified 8-bit unsigned integer into this instance at the specified character position.

Insert(Int32, Boolean) Insert(Int32, Boolean) Insert(Int32, Boolean) Insert(Int32, Boolean)

将布尔值的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a Boolean value into this instance at the specified character position.

Insert(Int32, Object) Insert(Int32, Object) Insert(Int32, Object) Insert(Int32, Object)

将对象的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of an object into this instance at the specified character position.

Insert(Int32, String, Int32) Insert(Int32, String, Int32) Insert(Int32, String, Int32) Insert(Int32, String, Int32)

将指定字符串的一个或更多副本插入到此实例中的指定字符位置。Inserts one or more copies of a specified string into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, System::String ^ value, int count);
public System.Text.StringBuilder Insert (int index, string value, int count);
member this.Insert : int * string * int -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As String, count As Integer) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
String String String String

要插入的字符串。The string to insert.

count
Int32 Int32 Int32 Int32

要插入 value 的次数。The number of times to insert value.

返回

完成插入后对此实例的引用。A reference to this instance after insertion has completed.

异常

index 小于零或大于此实例的当前长度。index is less than zero or greater than the current length of this instance.

-or- count 小于零。count is less than zero.

StringBuilder 对象的当前长度加上 value 的长度乘以 count,超过了 MaxCapacityThe current length of this StringBuilder object plus the length of value times count exceeds MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 此实例的容量会根据需要进行调整。The capacity of this instance is adjusted as needed.

如果StringBuilder count为, 则不会更改此对象,但该对象的长度为零,或者为零。null value null valueThis StringBuilder object is not changed if value is null, value is not null but its length is zero, or count is zero.

另请参阅

Insert(Int32, UInt64) Insert(Int32, UInt64) Insert(Int32, UInt64) Insert(Int32, UInt64)

重要

此 API 不符合 CLS。

将 64 位无符号整数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a 64-bit unsigned integer into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, System::UInt64 value);
[System.CLSCompliant(false)]
public System.Text.StringBuilder Insert (int index, ulong value);
member this.Insert : int * uint64 -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As ULong) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
UInt64 UInt64 UInt64 UInt64

要插入的值。The value to insert.

返回

完成插入操作后对此实例的引用。A reference to this instance after the insert operation has completed.

异常

index 小于零或大于此实例的长度。index is less than zero or greater than the length of this instance.

增大此实例的值将超过 MaxCapacityEnlarging the value of this instance would exceed MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

UInt64.ToString用于获取的value字符串表示形式。UInt64.ToString is used to get a string representation of value. 将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 此实例的容量会根据需要进行调整。The capacity of this instance is adjusted as needed.

调用方说明

在和早期版本中, ArgumentOutOfRangeException如果插入value会导致对象的总长度超过MaxCapacity, 则调用此方法将引发。 .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1In the .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1 and earlier versions, calls to this method threw an ArgumentOutOfRangeException if inserting value would cause the object's total length to exceed MaxCapacity. 从开始OutOfMemoryException, 方法将引发。 .NET Framework 4.NET Framework 4Starting with the .NET Framework 4.NET Framework 4, the method throws an OutOfMemoryException.

另请参阅

Insert(Int32, UInt32) Insert(Int32, UInt32) Insert(Int32, UInt32) Insert(Int32, UInt32)

重要

此 API 不符合 CLS。

将 32 位无符号整数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a 32-bit unsigned integer into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, System::UInt32 value);
[System.CLSCompliant(false)]
public System.Text.StringBuilder Insert (int index, uint value);
member this.Insert : int * uint32 -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As UInteger) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
UInt32 UInt32 UInt32 UInt32

要插入的值。The value to insert.

返回

完成插入操作后对此实例的引用。A reference to this instance after the insert operation has completed.

异常

index 小于零或大于此实例的长度。index is less than zero or greater than the length of this instance.

增大此实例的值将超过 MaxCapacityEnlarging the value of this instance would exceed MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

UInt32.ToString用于获取的value字符串表示形式。UInt32.ToString is used to get a string representation of value. 将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 此实例的容量会根据需要进行调整。The capacity of this instance is adjusted as needed.

调用方说明

在和早期版本中, ArgumentOutOfRangeException如果插入value会导致对象的总长度超过MaxCapacity, 则调用此方法将引发。 .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1In the .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1 and earlier versions, calls to this method threw an ArgumentOutOfRangeException if inserting value would cause the object's total length to exceed MaxCapacity. 从开始OutOfMemoryException, 方法将引发。 .NET Framework 4.NET Framework 4Starting with the .NET Framework 4.NET Framework 4, the method throws an OutOfMemoryException.

另请参阅

Insert(Int32, UInt16) Insert(Int32, UInt16) Insert(Int32, UInt16) Insert(Int32, UInt16)

重要

此 API 不符合 CLS。

将 16 位无符号整数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a 16-bit unsigned integer into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, System::UInt16 value);
[System.CLSCompliant(false)]
public System.Text.StringBuilder Insert (int index, ushort value);
member this.Insert : int * uint16 -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As UShort) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
UInt16 UInt16 UInt16 UInt16

要插入的值。The value to insert.

返回

完成插入操作后对此实例的引用。A reference to this instance after the insert operation has completed.

异常

index 小于零或大于此实例的长度。index is less than zero or greater than the length of this instance.

增大此实例的值将超过 MaxCapacityEnlarging the value of this instance would exceed MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

UInt16.ToString用于获取的value字符串表示形式。UInt16.ToString is used to get a string representation of value. 将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 此实例的容量会根据需要进行调整。The capacity of this instance is adjusted as needed.

调用方说明

在和早期版本中, ArgumentOutOfRangeException如果插入value会导致对象的总长度超过MaxCapacity, 则调用此方法将引发。 .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1In the .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1 and earlier versions, calls to this method threw an ArgumentOutOfRangeException if inserting value would cause the object's total length to exceed MaxCapacity. 从开始OutOfMemoryException, 方法将引发。 .NET Framework 4.NET Framework 4Starting with the .NET Framework 4.NET Framework 4, the method throws an OutOfMemoryException.

另请参阅

Insert(Int32, String) Insert(Int32, String) Insert(Int32, String) Insert(Int32, String)

将字符串插入到此实例中的指定字符位置。Inserts a string into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, System::String ^ value);
public System.Text.StringBuilder Insert (int index, string value);
member this.Insert : int * string -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As String) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
String String String String

要插入的字符串。The string to insert.

返回

完成插入操作后对此实例的引用。A reference to this instance after the insert operation has completed.

异常

index 小于零或大于此实例的当前长度。index is less than zero or greater than the current length of this instance.

-or- StringBuilder 对象的当前长度加上 value 的长度超过 MaxCapacityThe current length of this StringBuilder object plus the length of value exceeds MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 根据需要调整容量。The capacity is adjusted as needed.

如果StringBuilder 为,null或者null不是但其长度为零,则不会更改的此实例。value valueThis instance of StringBuilder is not changed if value is null, or value is not null but its length is zero.

另请参阅

Insert(Int32, Single) Insert(Int32, Single) Insert(Int32, Single) Insert(Int32, Single)

将单精度浮点数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a single-precision floating point number into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, float value);
public System.Text.StringBuilder Insert (int index, float value);
member this.Insert : int * single -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As Single) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
Single Single Single Single

要插入的值。The value to insert.

返回

完成插入操作后对此实例的引用。A reference to this instance after the insert operation has completed.

异常

index 小于零或大于此实例的长度。index is less than zero or greater than the length of this instance.

增大此实例的值将超过 MaxCapacityEnlarging the value of this instance would exceed MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

Single.ToString用于获取的value字符串表示形式。Single.ToString is used to get a string representation of value. 将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 此实例的容量会根据需要进行调整。The capacity of this instance is adjusted as needed.

调用方说明

在和早期版本中, ArgumentOutOfRangeException如果插入value会导致对象的总长度超过MaxCapacity, 则调用此方法将引发。 .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1In the .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1 and earlier versions, calls to this method threw an ArgumentOutOfRangeException if inserting value would cause the object's total length to exceed MaxCapacity. 从开始OutOfMemoryException, 方法将引发。 .NET Framework 4.NET Framework 4Starting with the .NET Framework 4.NET Framework 4, the method throws an OutOfMemoryException.

另请参阅

Insert(Int32, Char[], Int32, Int32) Insert(Int32, Char[], Int32, Int32) Insert(Int32, Char[], Int32, Int32) Insert(Int32, Char[], Int32, Int32)

将指定的 Unicode 字符子数组的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a specified subarray of Unicode characters into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, cli::array <char> ^ value, int startIndex, int charCount);
public System.Text.StringBuilder Insert (int index, char[] value, int startIndex, int charCount);
member this.Insert : int * char[] * int * int -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As Char(), startIndex As Integer, charCount As Integer) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
Char[]

字符数组。A character array.

startIndex
Int32 Int32 Int32 Int32

value 内的起始索引。The starting index within value.

charCount
Int32 Int32 Int32 Int32

要插入的字符数。The number of characters to insert.

返回

完成插入操作后对此实例的引用。A reference to this instance after the insert operation has completed.

异常

valuenull,且 startIndexcharCount 不为零。value is null, and startIndex and charCount are not zero.

indexstartIndexcharCount 小于零。index, startIndex, or charCount is less than zero.

-or- index 大于此实例的长度。index is greater than the length of this instance.

- 或 --or- startIndexcharCount 不是 value 中的位置。startIndex plus charCount is not a position within value.

-or- 增大此实例的值将超过 MaxCapacityEnlarging the value of this instance would exceed MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 此实例的容量会根据需要进行调整。The capacity of this instance is adjusted as needed.

Insert(Int32, SByte) Insert(Int32, SByte) Insert(Int32, SByte) Insert(Int32, SByte)

重要

此 API 不符合 CLS。

将指定的 8 位带符号整数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a specified 8-bit signed integer into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, System::SByte value);
[System.CLSCompliant(false)]
public System.Text.StringBuilder Insert (int index, sbyte value);
member this.Insert : int * sbyte -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As SByte) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
SByte SByte SByte SByte

要插入的值。The value to insert.

返回

完成插入操作后对此实例的引用。A reference to this instance after the insert operation has completed.

异常

index 小于零或大于此实例的长度。index is less than zero or greater than the length of this instance.

增大此实例的值将超过 MaxCapacityEnlarging the value of this instance would exceed MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

SByte.ToString用于获取的value字符串表示形式。SByte.ToString is used to get a string representation of value. 将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 根据需要调整容量。The capacity is adjusted as needed.

调用方说明

在和早期版本中, ArgumentOutOfRangeException如果插入value会导致对象的总长度超过MaxCapacity, 则调用此方法将引发。 .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1In the .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1 and earlier versions, calls to this method threw an ArgumentOutOfRangeException if inserting value would cause the object's total length to exceed MaxCapacity. 从开始OutOfMemoryException, 方法将引发。 .NET Framework 4.NET Framework 4Starting with the .NET Framework 4.NET Framework 4, the method throws an OutOfMemoryException.

另请参阅

Insert(Int32, ReadOnlySpan<Char>) Insert(Int32, ReadOnlySpan<Char>) Insert(Int32, ReadOnlySpan<Char>) Insert(Int32, ReadOnlySpan<Char>)

public:
 System::Text::StringBuilder ^ Insert(int index, ReadOnlySpan<char> value);
public System.Text.StringBuilder Insert (int index, ReadOnlySpan<char> value);
member this.Insert : int * ReadOnlySpan<char> -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As ReadOnlySpan(Of Char)) As StringBuilder

参数

返回

Insert(Int32, Int16) Insert(Int32, Int16) Insert(Int32, Int16) Insert(Int32, Int16)

将指定的 16 位带符号整数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a specified 16-bit signed integer into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, short value);
public System.Text.StringBuilder Insert (int index, short value);
member this.Insert : int * int16 -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As Short) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
Int16 Int16 Int16 Int16

要插入的值。The value to insert.

返回

完成插入操作后对此实例的引用。A reference to this instance after the insert operation has completed.

异常

index 小于零或大于此实例的长度。index is less than zero or greater than the length of this instance.

增大此实例的值将超过 MaxCapacityEnlarging the value of this instance would exceed MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

Int16.ToString用于获取的value字符串表示形式。Int16.ToString is used to get a string representation of value. 将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 此实例的容量会根据需要进行调整。The capacity of this instance is adjusted as needed.

调用方说明

在和早期版本中, ArgumentOutOfRangeException如果插入value会导致对象的总长度超过MaxCapacity, 则调用此方法将引发。 .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1In the .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1 and earlier versions, calls to this method threw an ArgumentOutOfRangeException if inserting value would cause the object's total length to exceed MaxCapacity. 从开始OutOfMemoryException, 方法将引发。 .NET Framework 4.NET Framework 4Starting with the .NET Framework 4.NET Framework 4, the method throws an OutOfMemoryException.

另请参阅

Insert(Int32, Int64) Insert(Int32, Int64) Insert(Int32, Int64) Insert(Int32, Int64)

将 64 位带符号整数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a 64-bit signed integer into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, long value);
public System.Text.StringBuilder Insert (int index, long value);
member this.Insert : int * int64 -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As Long) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
Int64 Int64 Int64 Int64

要插入的值。The value to insert.

返回

完成插入操作后对此实例的引用。A reference to this instance after the insert operation has completed.

异常

index 小于零或大于此实例的长度。index is less than zero or greater than the length of this instance.

增大此实例的值将超过 MaxCapacityEnlarging the value of this instance would exceed MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

Int64.ToString用于获取的value字符串表示形式。Int64.ToString is used to get a string representation of value. 将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 此实例的容量会根据需要进行调整。The capacity of this instance is adjusted as needed.

调用方说明

在和早期版本中, ArgumentOutOfRangeException如果插入value会导致对象的总长度超过MaxCapacity, 则调用此方法将引发。 .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1In the .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1 and earlier versions, calls to this method threw an ArgumentOutOfRangeException if inserting value would cause the object's total length to exceed MaxCapacity. 从开始OutOfMemoryException, 方法将引发。 .NET Framework 4.NET Framework 4Starting with the .NET Framework 4.NET Framework 4, the method throws an OutOfMemoryException.

另请参阅

Insert(Int32, Int32) Insert(Int32, Int32) Insert(Int32, Int32) Insert(Int32, Int32)

将指定的 32 位带符号整数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a specified 32-bit signed integer into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, int value);
public System.Text.StringBuilder Insert (int index, int value);
member this.Insert : int * int -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As Integer) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
Int32 Int32 Int32 Int32

要插入的值。The value to insert.

返回

完成插入操作后对此实例的引用。A reference to this instance after the insert operation has completed.

异常

index 小于零或大于此实例的长度。index is less than zero or greater than the length of this instance.

增大此实例的值将超过 MaxCapacityEnlarging the value of this instance would exceed MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

Int32.ToString用于获取的value字符串表示形式。Int32.ToString is used to get a string representation of value. 将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 此实例的容量会根据需要进行调整。The capacity of this instance is adjusted as needed.

调用方说明

在和早期版本中, ArgumentOutOfRangeException如果插入value会导致对象的总长度超过MaxCapacity, 则调用此方法将引发。 .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1In the .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1 and earlier versions, calls to this method threw an ArgumentOutOfRangeException if inserting value would cause the object's total length to exceed MaxCapacity. 从开始OutOfMemoryException, 方法将引发。 .NET Framework 4.NET Framework 4Starting with the .NET Framework 4.NET Framework 4, the method throws an OutOfMemoryException.

另请参阅

Insert(Int32, Double) Insert(Int32, Double) Insert(Int32, Double) Insert(Int32, Double)

将双精度浮点数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a double-precision floating-point number into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, double value);
public System.Text.StringBuilder Insert (int index, double value);
member this.Insert : int * double -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As Double) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
Double Double Double Double

要插入的值。The value to insert.

返回

完成插入操作后对此实例的引用。A reference to this instance after the insert operation has completed.

异常

index 小于零或大于此实例的长度。index is less than zero or greater than the length of this instance.

增大此实例的值将超过 MaxCapacityEnlarging the value of this instance would exceed MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

Double.ToString用于获取的value字符串表示形式。Double.ToString is used to get a string representation of value. 将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 此实例的容量会根据需要进行调整。The capacity of this instance is adjusted as needed.

调用方说明

在和早期版本中, ArgumentOutOfRangeException如果插入value会导致对象的总长度超过MaxCapacity, 则调用此方法将引发。 .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1In the .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1 and earlier versions, calls to this method threw an ArgumentOutOfRangeException if inserting value would cause the object's total length to exceed MaxCapacity. 从开始OutOfMemoryException, 方法将引发。 .NET Framework 4.NET Framework 4Starting with the .NET Framework 4.NET Framework 4, the method throws an OutOfMemoryException.

另请参阅

Insert(Int32, Decimal) Insert(Int32, Decimal) Insert(Int32, Decimal) Insert(Int32, Decimal)

将十进制数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a decimal number into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, System::Decimal value);
public System.Text.StringBuilder Insert (int index, decimal value);
member this.Insert : int * decimal -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As Decimal) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
Decimal Decimal Decimal Decimal

要插入的值。The value to insert.

返回

完成插入操作后对此实例的引用。A reference to this instance after the insert operation has completed.

异常

index 小于零或大于此实例的长度。index is less than zero or greater than the length of this instance.

增大此实例的值将超过 MaxCapacityEnlarging the value of this instance would exceed MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

Decimal.ToString用于获取的value字符串表示形式。Decimal.ToString is used to get a string representation of value. 将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 此实例的容量会根据需要进行调整。The capacity of this instance is adjusted as needed.

调用方说明

在和早期版本中, ArgumentOutOfRangeException如果插入value会导致对象的总长度超过MaxCapacity, 则调用此方法将引发。 .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1In the .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1 and earlier versions, calls to this method threw an ArgumentOutOfRangeException if inserting value would cause the object's total length to exceed MaxCapacity. 从开始OutOfMemoryException, 方法将引发。 .NET Framework 4.NET Framework 4Starting with the .NET Framework 4.NET Framework 4, the method throws an OutOfMemoryException.

另请参阅

Insert(Int32, Char[]) Insert(Int32, Char[]) Insert(Int32, Char[]) Insert(Int32, Char[])

将指定的 Unicode 字符数组的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a specified array of Unicode characters into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, cli::array <char> ^ value);
public System.Text.StringBuilder Insert (int index, char[] value);
member this.Insert : int * char[] -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As Char()) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
Char[]

要插入的字符数组。The character array to insert.

返回

完成插入操作后对此实例的引用。A reference to this instance after the insert operation has completed.

异常

index 小于零或大于此实例的长度。index is less than zero or greater than the length of this instance.

-or- 增大此实例的值将超过 MaxCapacityEnlarging the value of this instance would exceed MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 此实例的容量会根据需要进行调整。The capacity of this instance is adjusted as needed.

如果valuenull ,StringBuilder则不会更改。If value is null, the StringBuilder is not changed.

Insert(Int32, Char) Insert(Int32, Char) Insert(Int32, Char) Insert(Int32, Char)

将指定的 Unicode 字符的字符串表示形式插入到此实例中的指定位置。Inserts the string representation of a specified Unicode character into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, char value);
public System.Text.StringBuilder Insert (int index, char value);
member this.Insert : int * char -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As Char) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
Char Char Char Char

要插入的值。The value to insert.

返回

完成插入操作后对此实例的引用。A reference to this instance after the insert operation has completed.

异常

index 小于零或大于此实例的长度。index is less than zero or greater than the length of this instance.

-or- 增大此实例的值将超过 MaxCapacityEnlarging the value of this instance would exceed MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

Char.ToString用于获取的value字符串表示形式。Char.ToString is used to get a string representation of value. 将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 此实例的容量会根据需要进行调整。The capacity of this instance is adjusted as needed.

另请参阅

Insert(Int32, Byte) Insert(Int32, Byte) Insert(Int32, Byte) Insert(Int32, Byte)

将指定的 8 位无符号整数的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a specified 8-bit unsigned integer into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, System::Byte value);
public System.Text.StringBuilder Insert (int index, byte value);
member this.Insert : int * byte -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As Byte) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
Byte Byte Byte Byte

要插入的值。The value to insert.

返回

完成插入操作后对此实例的引用。A reference to this instance after the insert operation has completed.

异常

index 小于零或大于此实例的长度。index is less than zero or greater than the length of this instance.

增大此实例的值将超过 MaxCapacityEnlarging the value of this instance would exceed MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

Byte.ToString用于获取的value字符串表示形式。Byte.ToString is used to get a string representation of value. 将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 此实例的容量会根据需要进行调整。The capacity of this instance is adjusted as needed.

调用方说明

在和早期版本中, ArgumentOutOfRangeException如果插入value会导致对象的总长度超过MaxCapacity, 则调用此方法将引发。 .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1In the .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1 and earlier versions, calls to this method threw an ArgumentOutOfRangeException if inserting value would cause the object's total length to exceed MaxCapacity. 从开始OutOfMemoryException, 方法将引发。 .NET Framework 4.NET Framework 4Starting with the .NET Framework 4.NET Framework 4, the method throws an OutOfMemoryException.

另请参阅

Insert(Int32, Boolean) Insert(Int32, Boolean) Insert(Int32, Boolean) Insert(Int32, Boolean)

将布尔值的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of a Boolean value into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, bool value);
public System.Text.StringBuilder Insert (int index, bool value);
member this.Insert : int * bool -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As Boolean) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
Boolean Boolean Boolean Boolean

要插入的值。The value to insert.

返回

完成插入操作后对此实例的引用。A reference to this instance after the insert operation has completed.

异常

index 小于零或大于此实例的长度。index is less than zero or greater than the length of this instance.

增大此实例的值将超过 MaxCapacityEnlarging the value of this instance would exceed MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

Boolean.ToString用于获取的value字符串表示形式。Boolean.ToString is used to get a string representation of value. 将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 根据需要调整容量。The capacity is adjusted as needed.

调用方说明

在和早期版本中, ArgumentOutOfRangeException如果插入value会导致对象的总长度超过MaxCapacity, 则调用此方法将引发。 .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1In the .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1 and earlier versions, calls to this method threw an ArgumentOutOfRangeException if inserting value would cause the object's total length to exceed MaxCapacity. 从开始OutOfMemoryException, 方法将引发。 .NET Framework 4.NET Framework 4Starting with the .NET Framework 4.NET Framework 4, the method throws an OutOfMemoryException.

另请参阅

Insert(Int32, Object) Insert(Int32, Object) Insert(Int32, Object) Insert(Int32, Object)

将对象的字符串表示形式插入到此实例中的指定字符位置。Inserts the string representation of an object into this instance at the specified character position.

public:
 System::Text::StringBuilder ^ Insert(int index, System::Object ^ value);
public System.Text.StringBuilder Insert (int index, object value);
member this.Insert : int * obj -> System.Text.StringBuilder
Public Function Insert (index As Integer, value As Object) As StringBuilder

参数

index
Int32 Int32 Int32 Int32

此实例中开始插入的位置。The position in this instance where insertion begins.

value
Object Object Object Object

要插入的对象,或 nullThe object to insert, or null.

返回

完成插入操作后对此实例的引用。A reference to this instance after the insert operation has completed.

异常

index 小于零或大于此实例的长度。index is less than zero or greater than the length of this instance.

增大此实例的值将超过 MaxCapacityEnlarging the value of this instance would exceed MaxCapacity.

示例

下面的示例演示Insert方法。The following example demonstrates the Insert method.

using namespace System;
using namespace System::Text;
ref class Sample
{
private:

   //                           index: 012345
   static String^ initialValue = "--[]--";
   static StringBuilder^ sb;

public:
   static void Main()
   {
      String^ xyz = "xyz";
      array<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.
      UInt16 xUInt16 = 8;
      UInt32 xUInt32 = 9;
      UInt64 xUInt64 = 10;
      SByte xSByte = -11;
      
      //
      Console::WriteLine( "StringBuilder.Insert method" );
      sb = gcnew StringBuilder( initialValue );
      sb->Insert( 3, xyz, 2 );
      Show( 1, sb );
      sb->Insert( 3, xyz );
      Show( 2, sb );
      sb->Insert( 3, star );
      Show( 3, sb );
      sb->Insert( 3, abc );
      Show( 4, sb );
      sb->Insert( 3, abc, 1, 2 );
      Show( 5, sb );
      sb->Insert( 3, xBool ); // True
      Show( 6, sb );
      sb->Insert( 3, obj ); // 0
      Show( 7, sb );
      sb->Insert( 3, xByte ); // 1
      Show( 8, sb );
      sb->Insert( 3, xInt16 ); // 2
      Show( 9, sb );
      sb->Insert( 3, xInt32 ); // 3
      Show( 10, sb );
      sb->Insert( 3, xInt64 ); // 4
      Show( 11, sb );
      sb->Insert( 3, xDecimal ); // 5
      Show( 12, sb );
      sb->Insert( 3, xSingle ); // 6.6
      Show( 13, sb );
      sb->Insert( 3, xDouble ); // 7.7
      Show( 14, sb );
      
      // The following Insert methods are not CLS-compliant.
      sb->Insert( 3, xUInt16 ); // 8
      Show( 15, sb );
      sb->Insert( 3, xUInt32 ); // 9
      Show( 16, sb );
      sb->Insert( 3, xUInt64 ); // 10
      Show( 17, sb );
      sb->Insert( 3, xSByte ); // -11
      Show( 18, sb );
      
      //
   }

   static void Show( int overloadNumber, StringBuilder^ sbs )
   {
      Console::WriteLine( "{0,2:G} = {1}", overloadNumber, sbs );
      sb = gcnew StringBuilder( initialValue );
   }

};

int main()
{
   Sample::Main();
}

/*
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]--

*/
using System;
using System.Text;

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

    public static void Main() 
    {
    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;
//
    Console.WriteLine("StringBuilder.Insert method");
    sb = new StringBuilder(initialValue);

    sb.Insert(3, xyz, 2);
    Show(1, sb);

    sb.Insert(3, xyz);
    Show(2, sb);

    sb.Insert(3, star);
    Show(3, sb);

    sb.Insert(3, abc);
    Show(4, sb);

    sb.Insert(3, abc, 1, 2);
    Show(5, sb);

    sb.Insert(3, xBool);     // True
    Show(6, sb);

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

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

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

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

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

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

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

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

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

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

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

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

    public static void Show(int overloadNumber, StringBuilder sbs)
    {
    Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString());
    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]--

*/
Imports System
Imports System.Text

Class Sample
   '                                 index: 012345
   Private Shared initialValue As String = "--[]--"
   Private Shared sb As StringBuilder
   
   Public Shared Sub Main()
      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
      '
      Console.WriteLine("StringBuilder.Insert method")
      sb = New StringBuilder(initialValue)
      
      sb.Insert(3, xyz, 2)
      Show(1, sb)
      
      sb.Insert(3, xyz)
      Show(2, sb)
      
      sb.Insert(3, star)
      Show(3, sb)
      
      sb.Insert(3, abc)
      Show(4, sb)
      
      sb.Insert(3, abc, 1, 2)
      Show(5, sb)
      
      sb.Insert(3, xBool)     ' True
      Show(6, sb)
      
      sb.Insert(3, obj)       ' 0
      Show(7, sb)
      
      sb.Insert(3, xByte)     ' 1
      Show(8, sb)
      
      sb.Insert(3, xInt16)    ' 2
      Show(9, sb)
      
      sb.Insert(3, xInt32)    ' 3
      Show(10, sb)
      
      sb.Insert(3, xInt64)    ' 4
      Show(11, sb)
      
      sb.Insert(3, xDecimal)  ' 5
      Show(12, sb)
      
      sb.Insert(3, xSingle)   ' 6.6
      Show(13, sb)
      
      sb.Insert(3, xDouble)   ' 7.7
      Show(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(overloadNumber As Integer, sbs As StringBuilder)
      Console.WriteLine("{0,2:G} = {1}", overloadNumber, sbs.ToString())
      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]--
'

注解

Object.ToString用于获取的value字符串表示形式。Object.ToString is used to get a string representation of value. 将移动现有字符以便为新文本留出空间。Existing characters are shifted to make room for the new text. 此实例的容量会根据需要进行调整。The capacity of this instance is adjusted as needed.

如果valuenull, 则此实例的值将保持不变。If value is null, the value of this instance is unchanged.

调用方说明

在和早期版本中, ArgumentOutOfRangeException如果插入value会导致对象的总长度超过MaxCapacity, 则调用此方法将引发。 .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1In the .NET Framework 3.5 Service Pack 1.NET Framework 3.5 Service Pack 1 and earlier versions, calls to this method threw an ArgumentOutOfRangeException if inserting value would cause the object's total length to exceed MaxCapacity. 从开始OutOfMemoryException, 方法将引发。 .NET Framework 4.NET Framework 4Starting with the .NET Framework 4.NET Framework 4, the method throws an OutOfMemoryException.

另请参阅

适用于