StringBuilder.Insert メソッド (Int32, Char , Int32, Int32)
Unicode 文字の指定した部分配列の文字列形式をこのインスタンスの指定した文字位置に挿入します。
Overloads Public Function Insert( _
ByVal index As Integer, _ ByVal value() As Char, _ ByVal startIndex As Integer, _ ByVal charCount As Integer _) As StringBuilder
[C#]
public StringBuilder Insert(intindex,char[] value,intstartIndex,intcharCount);
[C++]
public: StringBuilder* Insert(intindex,__wchar_tvalue __gc[],intstartIndex,intcharCount);
[JScript]
public function Insert(
index : int,value : Char[],startIndex : int,charCount : int) : StringBuilder;
パラメータ
- index
挿入する位置。 - value
文字配列。 - startIndex
value 内の開始インデックス。 - charCount
挿入する文字数。
戻り値
挿入操作が発生した後のこのインスタンスへの参照。
例外
例外の種類 | 条件 |
---|---|
ArgumentNullException | value が null 参照 (Visual Basic では Nothing) であり、 startIndex と charCount が 0 以外の値です。 |
ArgumentOutOfRangeException | index 、 startIndex 、または charCount が 0 未満です。
または index がこのインスタンスの長さを超えています。 または startIndex に charCount を加算した値が、 value 内にない位置を示しています。 または このインスタンスの値を増やすと、 MaxCapacity を超えます。 |
解説
新しいテキストの入るスペースを空けるため、既存の文字がシフトされます。容量は、必要に応じて調整されます。
使用例
' 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 オーバーロードの一覧