次の方法で共有


StringBuilder.Insert メソッド (Int32, String)

文字列をこのインスタンスの指定した文字位置に挿入します。

Overloads Public Function Insert( _
   ByVal index As Integer, _   ByVal value As String _) As StringBuilder
[C#]
public StringBuilder Insert(intindex,stringvalue);
[C++]
public: StringBuilder* Insert(intindex,String* value);
[JScript]
public function Insert(
   index : int,value : String) : StringBuilder;

パラメータ

  • index
    挿入する位置。
  • value
    挿入する文字列。

戻り値

挿入操作が発生した後のこのインスタンスへの参照。

例外

例外の種類 条件
ArgumentNullException value が null 参照 (Visual Basic では Nothing) であり、 index が 0 以外の値です。
ArgumentOutOfRangeException index が、0 未満か、このインスタンスの長さを超えています。

または

このインスタンスの値を増やすと、 MaxCapacity を超えます。

解説

新しいテキストの入るスペースを空けるため、既存の文字がシフトされます。容量は、必要に応じて調整されます。 valueEmpty が等しい場合、 StringBuilder は変更されません。

使用例

 
' 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] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

StringBuilder クラス | StringBuilder メンバ | System.Text 名前空間 | StringBuilder.Insert オーバーロードの一覧 | String