StringCollection.Insert(Int32, String) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將字串插入至指定索引位置的 StringCollection。
public:
void Insert(int index, System::String ^ value);
public void Insert (int index, string value);
public void Insert (int index, string? value);
member this.Insert : int * string -> unit
Public Sub Insert (index As Integer, value As String)
參數
- index
- Int32
插入 value
處之以零起始的索引。
- value
- String
要插入的字串。 這個值可以是 null
。
例外狀況
範例
下列程式代碼範例會將新的專案加入至 StringCollection。
#using <System.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;
void PrintValues( IEnumerable^ myCol );
int main()
{
// Creates and initializes a new StringCollection.
StringCollection^ myCol = gcnew StringCollection;
Console::WriteLine( "Initial contents of the StringCollection:" );
PrintValues( myCol );
// Adds a range of elements from an array to the end of the StringCollection.
array<String^>^myArr = {"RED","orange","yellow","RED","green","blue","RED","indigo","violet","RED"};
myCol->AddRange( myArr );
Console::WriteLine( "After adding a range of elements:" );
PrintValues( myCol );
// Adds one element to the end of the StringCollection and inserts another at index 3.
myCol->Add( "* white" );
myCol->Insert( 3, "* gray" );
Console::WriteLine( "After adding \"* white\" to the end and inserting \"* gray\" at index 3:" );
PrintValues( myCol );
}
void PrintValues( IEnumerable^ myCol )
{
IEnumerator^ myEnum = myCol->GetEnumerator();
while ( myEnum->MoveNext() )
{
Object^ obj = safe_cast<Object^>(myEnum->Current);
Console::WriteLine( " {0}", obj );
}
Console::WriteLine();
}
/*
This code produces the following output.
Initial contents of the StringCollection:
After adding a range of elements:
RED
orange
yellow
RED
green
blue
RED
indigo
violet
RED
After adding "* white" to the end and inserting "* gray" at index 3:
RED
orange
yellow
* gray
RED
green
blue
RED
indigo
violet
RED
* white
*/
using System;
using System.Collections;
using System.Collections.Specialized;
public class SamplesStringCollection {
public static void Main() {
// Creates and initializes a new StringCollection.
StringCollection myCol = new StringCollection();
Console.WriteLine( "Initial contents of the StringCollection:" );
PrintValues( myCol );
// Adds a range of elements from an array to the end of the StringCollection.
String[] myArr = new String[] { "RED", "orange", "yellow", "RED", "green", "blue", "RED", "indigo", "violet", "RED" };
myCol.AddRange( myArr );
Console.WriteLine( "After adding a range of elements:" );
PrintValues( myCol );
// Adds one element to the end of the StringCollection and inserts another at index 3.
myCol.Add( "* white" );
myCol.Insert( 3, "* gray" );
Console.WriteLine( "After adding \"* white\" to the end and inserting \"* gray\" at index 3:" );
PrintValues( myCol );
}
public static void PrintValues( IEnumerable myCol ) {
foreach ( Object obj in myCol )
Console.WriteLine( " {0}", obj );
Console.WriteLine();
}
}
/*
This code produces the following output.
Initial contents of the StringCollection:
After adding a range of elements:
RED
orange
yellow
RED
green
blue
RED
indigo
violet
RED
After adding "* white" to the end and inserting "* gray" at index 3:
RED
orange
yellow
* gray
RED
green
blue
RED
indigo
violet
RED
* white
*/
Imports System.Collections
Imports System.Collections.Specialized
Public Class SamplesStringCollection
Public Shared Sub Main()
' Creates and initializes a new StringCollection.
Dim myCol As New StringCollection()
Console.WriteLine("Initial contents of the StringCollection:")
PrintValues(myCol)
' Adds a range of elements from an array to the end of the StringCollection.
Dim myArr() As [String] = {"RED", "orange", "yellow", "RED", "green", "blue", "RED", "indigo", "violet", "RED"}
myCol.AddRange(myArr)
Console.WriteLine("After adding a range of elements:")
PrintValues(myCol)
' Adds one element to the end of the StringCollection and inserts another at index 3.
myCol.Add("* white")
myCol.Insert(3, "* gray")
Console.WriteLine("After adding ""* white"" to the end and inserting ""* gray"" at index 3:")
PrintValues(myCol)
End Sub
Public Shared Sub PrintValues(myCol As IEnumerable)
Dim obj As [Object]
For Each obj In myCol
Console.WriteLine(" {0}", obj)
Next obj
Console.WriteLine()
End Sub
End Class
'This code produces the following output.
'
'Initial contents of the StringCollection:
'
'After adding a range of elements:
' RED
' orange
' yellow
' RED
' green
' blue
' RED
' indigo
' violet
' RED
'
'After adding "* white" to the end and inserting "* gray" at index 3:
' RED
' orange
' yellow
' * gray
' RED
' green
' blue
' RED
' indigo
' violet
' RED
' * white
'
備註
中 StringCollection允許重複的字串。
如果 index
等於 Count, value
則會新增至 的 StringCollection結尾。
在連續項目的集合 (例如清單) 中,後面接著插入點的項目會向下移動以容納新項目。 如果集合具有索引,則移動之項目的索引也會更新。 集合的項目若在概念上群組成 Bucket (例如雜湊資料表),則不適用這項行為。
這個方法是 O (n
) 作業,其中 n
是 Count。