List<T>.IndexOf メソッド

定義

List<T> 全体またはその一部において、最初に値が出現した位置のインデックス番号 (0 から始まる) を返します。

オーバーロード

IndexOf(T, Int32)

List<T> のうち指定したインデックスから最後の要素までの要素範囲の中から、指定したオブジェクトを検索し、最初に出現する位置の 0 から始まるインデックス番号を返します。

IndexOf(T, Int32, Int32)

指定したインデックスから始まり、指定した数の要素が含まれる List<T> の要素範囲内で、指定したオブジェクトを検索し、最初に出現する位置の 0 から始まるインデックス番号を返します。

IndexOf(T)

List<T> 全体から指定したオブジェクトを検索し、最初に見つかったオブジェクトのインデックス (0 から始まる) を返します。

次の例では、 メソッドの 3 つのオーバーロードすべてを示します IndexOfList<T>インデックスの場所 0 とインデックスの場所 5 に、1 つのエントリが 2 回表示される文字列の が作成されます。 メソッド オーバーロードは IndexOf(T) 、最初からリストを検索し、文字列の最初の出現箇所を検索します。 メソッド オーバーロード IndexOf(T, Int32) は、インデックスの場所 3 で始まり、リストの末尾まで続くリストを検索するために使用され、文字列の 2 番目の出現箇所を検索します。 最後に、メソッド オーバーロードは、 IndexOf(T, Int32, Int32) インデックス位置 2 から始まる 2 つのエントリの範囲を検索するために使用されます。その範囲内に検索文字列のインスタンスがないため、-1 が返されます。

using namespace System;
using namespace System::Collections::Generic;

void main()
{
    List<String^>^ dinosaurs = gcnew List<String^>();

    dinosaurs->Add("Tyrannosaurus");
    dinosaurs->Add("Amargasaurus");
    dinosaurs->Add("Mamenchisaurus");
    dinosaurs->Add("Brachiosaurus");
    dinosaurs->Add("Deinonychus");
    dinosaurs->Add("Tyrannosaurus");
    dinosaurs->Add("Compsognathus");

    Console::WriteLine();
    for each(String^ dinosaur in dinosaurs )
    {
        Console::WriteLine(dinosaur);
    }

    Console::WriteLine("\nIndexOf(\"Tyrannosaurus\"): {0}", 
        dinosaurs->IndexOf("Tyrannosaurus"));

    Console::WriteLine("\nIndexOf(\"Tyrannosaurus\", 3): {0}", 
        dinosaurs->IndexOf("Tyrannosaurus", 3));

    Console::WriteLine("\nIndexOf(\"Tyrannosaurus\", 2, 2): {0}", 
        dinosaurs->IndexOf("Tyrannosaurus", 2, 2));
}

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

IndexOf("Tyrannosaurus"): 0

IndexOf("Tyrannosaurus", 3): 5

IndexOf("Tyrannosaurus", 2, 2): -1
 */
using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        List<string> dinosaurs = new List<string>();

        dinosaurs.Add("Tyrannosaurus");
        dinosaurs.Add("Amargasaurus");
        dinosaurs.Add("Mamenchisaurus");
        dinosaurs.Add("Brachiosaurus");
        dinosaurs.Add("Deinonychus");
        dinosaurs.Add("Tyrannosaurus");
        dinosaurs.Add("Compsognathus");

        Console.WriteLine();
        foreach(string dinosaur in dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }

        Console.WriteLine("\nIndexOf(\"Tyrannosaurus\"): {0}",
            dinosaurs.IndexOf("Tyrannosaurus"));

        Console.WriteLine("\nIndexOf(\"Tyrannosaurus\", 3): {0}",
            dinosaurs.IndexOf("Tyrannosaurus", 3));

        Console.WriteLine("\nIndexOf(\"Tyrannosaurus\", 2, 2): {0}",
            dinosaurs.IndexOf("Tyrannosaurus", 2, 2));
    }
}

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

IndexOf("Tyrannosaurus"): 0

IndexOf("Tyrannosaurus", 3): 5

IndexOf("Tyrannosaurus", 2, 2): -1
 */
Imports System.Collections.Generic

Public Class Example

    Public Shared Sub Main()

        Dim dinosaurs As New List(Of String)

        dinosaurs.Add("Tyrannosaurus")
        dinosaurs.Add("Amargasaurus")
        dinosaurs.Add("Mamenchisaurus")
        dinosaurs.Add("Brachiosaurus")
        dinosaurs.Add("Deinonychus")
        dinosaurs.Add("Tyrannosaurus")
        dinosaurs.Add("Compsognathus")

        Console.WriteLine()
        For Each dinosaur As String In dinosaurs
            Console.WriteLine(dinosaur)
        Next

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus""): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus"))

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus"", 3): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus", 3))

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus"", 2, 2): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus", 2, 2))

    End Sub
End Class

' This code example produces the following output:
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Brachiosaurus
'Deinonychus
'Tyrannosaurus
'Compsognathus
'
'IndexOf("Tyrannosaurus"): 0
'
'IndexOf("Tyrannosaurus", 3): 5
'
'IndexOf("Tyrannosaurus", 2, 2): -1

IndexOf(T, Int32)

List<T> のうち指定したインデックスから最後の要素までの要素範囲の中から、指定したオブジェクトを検索し、最初に出現する位置の 0 から始まるインデックス番号を返します。

public:
 int IndexOf(T item, int index);
public int IndexOf (T item, int index);
member this.IndexOf : 'T * int -> int
Public Function IndexOf (item As T, index As Integer) As Integer

パラメーター

item
T

List<T> 内で検索するオブジェクト。 参照型の場合は null の値を使用できます。

index
Int32

検索の開始位置を示す 0 から始まるインデックス。 空のリストでは 0 (ゼロ) は有効です。

戻り値

index から最後の要素までの List<T> 内の要素の範囲内で item が見つかった場合は、最初に見つかった位置の 0 から始まるインデックス番号。それ以外の場合は -1。

例外

indexList<T>の有効なインデックスの範囲外です。

注釈

List<T> 、最後の要素から index 始まり、最後の要素で終わる順に検索されます。

このメソッドは、 の既定の等値比較子 EqualityComparer<T>.DefaultT(リスト内の値の型) を使用して等価性を決定します。

このメソッドは線形検索を実行します。したがって、このメソッドは O(n) 演算です。 ここで、n は から index の末尾までの要素の List<T>数です。

こちらもご覧ください

適用対象

IndexOf(T, Int32, Int32)

指定したインデックスから始まり、指定した数の要素が含まれる List<T> の要素範囲内で、指定したオブジェクトを検索し、最初に出現する位置の 0 から始まるインデックス番号を返します。

public:
 int IndexOf(T item, int index, int count);
public int IndexOf (T item, int index, int count);
member this.IndexOf : 'T * int * int -> int
Public Function IndexOf (item As T, index As Integer, count As Integer) As Integer

パラメーター

item
T

List<T> 内で検索するオブジェクト。 参照型の場合は null の値を使用できます。

index
Int32

検索の開始位置を示す 0 から始まるインデックス。 空のリストでは 0 (ゼロ) は有効です。

count
Int32

検索対象の範囲内にある要素の数。

戻り値

index から始まって count 個の要素を格納する List<T> 内の要素の範囲内で item が見つかった場合は、最初に見つかった位置の 0 から始まるインデックス番号。それ以外の場合は -1。

例外

indexList<T>の有効なインデックスの範囲外です。

- または -

count が 0 未満です。

- または -

index および countList<T> 内の正しいセクションを指定していません。

注釈

List<T>が 0 より大きい場合countは、 からindex始まり、プラスcountマイナス 1 でindex終わる順に検索されます。

このメソッドは、 の既定の等値比較子 EqualityComparer<T>.DefaultT(リスト内の値の型) を使用して等価性を決定します。

このメソッドは線形検索を実行します。したがって、このメソッドは O(n) 操作であり、 ncountです。

こちらもご覧ください

適用対象

IndexOf(T)

List<T> 全体から指定したオブジェクトを検索し、最初に見つかったオブジェクトのインデックス (0 から始まる) を返します。

public:
 virtual int IndexOf(T item);
public int IndexOf (T item);
abstract member IndexOf : 'T -> int
override this.IndexOf : 'T -> int
Public Function IndexOf (item As T) As Integer

パラメーター

item
T

List<T> 内で検索するオブジェクト。 参照型の場合は null の値を使用できます。

戻り値

List<T> 全体を対象に item を検索し、見つかった場合は、インデックス番号の最も小さい要素の 0 から始まるインデックス番号、それ以外の場合は -1。

実装

注釈

List<T>は、最初の要素から始まり、最後の要素で終わる順に検索されます。

このメソッドは、 の既定の等値比較子 EqualityComparer<T>.DefaultT(リスト内の値の型) を使用して等価性を決定します。

このメソッドは線形検索を実行します。したがって、このメソッドは O(n) 操作であり、 nCountです。

こちらもご覧ください

適用対象