.NET Framework クラス ライブラリ
StringBuilder.Insert メソッド (Int32, String, Int32)
この記事は翻訳者によって翻訳されたものです。 このページおよび元の英語コンテンツを同時に表示させるには、[ライトウェイト] に切り替えます。
指定した文字列の 1 つ以上のコピーをこのインスタンスの指定した文字位置に挿入します。
アセンブリ: mscorlib (mscorlib.dll 内)
構文
Visual Basic
Public Function Insert ( _ index As Integer, _ value As String, _ count As Integer _ ) As StringBuilder
C#
public StringBuilder Insert( int index, string value, int count )
Visual C++
public: StringBuilder^ Insert( int index, String^ value, int count )
F#
member Insert : index:int * value:string * count:int -> StringBuilder
パラメーター
- index
- 型: System.Int32
このインスタンスにおける挿入の開始位置。
- value
- 型: System.String
挿入する文字列。
- count
- 型: System.Int32
value を挿入する回数。
例外
| 例外 | 条件 |
|---|---|
| ArgumentOutOfRangeException |
index が、0 未満か、このインスタンスの現在の長さを超えています。 または count が 0 未満です。 |
| OutOfMemoryException |
この StringBuilder オブジェクトの現在の長さと、value に count をかけたものを足した値が、MaxCapacity を超えています。 |
解説
新しいテキストの入るスペースを空けるため、既存の文字がシフトされます。 このインスタンスの容量は、必要に応じて調整されます。
value が null であるか、value が null ではないがその長さが 0 であるか、count が 0 の場合は、この StringBuilder オブジェクトは変更されません。
例
Insert メソッドの例を次に示します。
Visual Basic
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#
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]-- */
Visual C++
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]-- */
バージョン情報
.NET Framework
サポート対象: 4、3.5、3.0、2.0、1.1、1.0.NET Framework Client Profile
サポート対象: 4、3.5 SP1サポート対象:
プラットフォーム
Windows 7, Windows Vista SP1 以降, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core はサポート対象外), Windows Server 2008 R2 (SP1 以降で Server Core をサポート), Windows Server 2003 SP2
.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
参照