指定した文字列を検索し、StringCollection 内でその文字列が最初に見つかった位置の 0 から始まるインデックスを返します。
名前空間: System.Collections.Specialized
アセンブリ: System (system.dll 内)
構文
'宣言
Public Function IndexOf ( _
value As String _
) As Integer
'使用
Dim instance As StringCollection
Dim value As String
Dim returnValue As Integer
returnValue = instance.IndexOf(value)
public int IndexOf (
string value
)
public:
int IndexOf (
String^ value
)
public int IndexOf (
String value
)
public function IndexOf (
value : String
) : int
パラメータ
- value
検索される文字列。値は null 参照 (Visual Basic では Nothing) に設定できます。
戻り値
StringCollection 内で value が見つかった場合は、最初に見つかった位置の 0 から始まるインデックス。それ以外の場合は -1。
解説
このメソッドは、Object.Equals を呼び出して、等しいかどうかを判断します。文字列比較では、大文字と小文字が区別されます。
このメソッドは順次検索を実行します。したがって、このメソッドは、O(n) 操作です。ここで、n は Count です。
使用例
StringCollection の要素を検索する例を次に示します。
Imports System
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 'Main
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 'PrintValues
End Class 'SamplesStringCollection
'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.
*/
#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.
*/
import System.* ;
import System.Collections.* ;
import System.Collections.Specialized.* ;
public class SamplesStringCollection
{
public static void main(String[] args)
{
// 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}.",System.Convert.ToString(myCol.IndexOf("orange")));
}
else {
Console.WriteLine("The collection does not contain \"orange\".");
}
} //main
public static void PrintValues(IEnumerable myCol)
{
Object obj = null;
IEnumerator objEnum = myCol.GetEnumerator();
while (objEnum.MoveNext()) {
obj = objEnum.get_Current();
Console.WriteLine(" {0}", obj);
}
Console.WriteLine();
} //PrintValues
} //SamplesStringCollection
/*
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.
*/
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 2.0、1.1、1.0
参照
関連項目
StringCollection クラス
StringCollection メンバ
System.Collections.Specialized 名前空間
Contains