Export (0) Print
Expand All

StringBuilder.Insert Method (Int32, Double)

.NET Framework 1.1

Inserts the string representation of a double-precision floating-point number into this instance at the specified character position.

[Visual Basic]
Overloads Public Function Insert( _
   ByVal index As Integer, _
   ByVal value As Double _
) As StringBuilder
[C#]
public StringBuilder Insert(
 int index,
 double value
);
[C++]
public: StringBuilder* Insert(
 int index,
 double value
);
[JScript]
public function Insert(
   index : int,
 value : double
) : StringBuilder;

Parameters

index
The position at which to insert.
value
The value to insert.

Return Value

A reference to this instance after the insert operation has occurred.

Exceptions

Exception Type Condition
ArgumentOutOfRangeException index is less than zero or greater than the length of this instance.

-or-

Enlarging the value of this instance would exceed MaxCapacity.

Remarks

Double.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.

Example

[Visual Basic] 
' This example demonstrates StringBuilder.Insert()
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]--
'

[C#] 
// This example demonstrates StringBuilder.Insert()
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]--

*/

[C++] 
// This example demonstrates StringBuilder.Insert()
#using <mscorlib.dll>
using namespace System;
using namespace System::Text;

__gc class Sample 
{
//                           index: 012345
    static String* initialValue = S"--[]--";
    static StringBuilder* sb;
public:
    static void Main() 
    {
    String*     xyz       = S"xyz";
    Char abc[]            = {'a', 'b', 'c'};
    Char        star      = '*';
    Object*     obj       = __box(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(S"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);
//
    }

    static void Show(int overloadNumber, StringBuilder* sbs)
    {
    Console::WriteLine(S"{0,2:G} = {1}", __box(overloadNumber),sbs);
    sb = new 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]--

*/

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, Common Language Infrastructure (CLI) Standard

See Also

StringBuilder Class | StringBuilder Members | System.Text Namespace | StringBuilder.Insert Overload List | Double

Show:
© 2014 Microsoft