StringCollection.IndexOf(String) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
搜尋指定的字串,並傳回在 StringCollection 中第一個符合項目之以零起始的索引。
public:
int IndexOf(System::String ^ value);
public int IndexOf (string value);
public int IndexOf (string? value);
member this.IndexOf : string -> int
Public Function IndexOf (value As String) As Integer
參數
- value
- String
要尋找的字串。 這個值可以是 null
。
傳回
如果在 StringCollection 中找到的話,則為 value
的第一個符合項目之以零起始的索引,否則為 -1。
範例
下列程式代碼範例會搜尋 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;
array<String^>^myArr = {"RED","orange","yellow","RED","green","blue","RED","indigo","violet","RED"};
myCol->AddRange( myArr );
Console::WriteLine( "Initial contents of the StringCollection:" );
PrintValues( myCol );
// Checks whether the collection contains "orange" and, if so, displays its index.
if ( myCol->Contains( "orange" ) )
Console::WriteLine( "The collection contains \"orange\" at index {0}.", myCol->IndexOf( "orange" ) );
else
Console::WriteLine( "The collection does not contain \"orange\"." );
}
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:
RED
orange
yellow
RED
green
blue
RED
indigo
violet
RED
The collection contains "orange" at index 1.
*/
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();
String[] myArr = new String[] { "RED", "orange", "yellow", "RED", "green", "blue", "RED", "indigo", "violet", "RED" };
myCol.AddRange( myArr );
Console.WriteLine( "Initial contents of the StringCollection:" );
PrintValues( myCol );
// Checks whether the collection contains "orange" and, if so, displays its index.
if ( myCol.Contains( "orange" ) )
Console.WriteLine( "The collection contains \"orange\" at index {0}.", myCol.IndexOf( "orange" ) );
else
Console.WriteLine( "The collection does not contain \"orange\"." );
}
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:
RED
orange
yellow
RED
green
blue
RED
indigo
violet
RED
The collection contains "orange" at index 1.
*/
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()
Dim myArr() As [String] = {"RED", "orange", "yellow", "RED", "green", "blue", "RED", "indigo", "violet", "RED"}
myCol.AddRange(myArr)
Console.WriteLine("Initial contents of the StringCollection:")
PrintValues(myCol)
' Checks whether the collection contains "orange" and, if so, displays its index.
If myCol.Contains("orange") Then
Console.WriteLine("The collection contains ""orange"" at index {0}.", myCol.IndexOf("orange"))
Else
Console.WriteLine("The collection does not contain ""orange"".")
End If
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:
' RED
' orange
' yellow
' RED
' green
' blue
' RED
' indigo
' violet
' RED
'
'The collection contains "orange" at index 1.
'
備註
這個方法會呼叫 Object.Equals來判斷相等。 字串比較是區分大小寫的。
此方法會執行線性搜尋;因此,這個方法是 O (n
) 作業,其中 n
是 Count。
從 .NET Framework 2.0 開始,這個方法會使用 集合的物件 Equals 和 CompareTo 方法來item
判斷專案是否存在。 在舊版的 .NET Framework 中,這個判斷方式是在Equals集合中的 物件上使用 參數的 item
和 CompareTo 方法進行。