List<T>.IndexOf メソッド

定義

List<T>またはその一部で最初に出現する値の 0 から始まるインデックスを返します。

オーバーロード

名前 説明
IndexOf(T, Int32)

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

IndexOf(T, Int32, Int32)

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

IndexOf(T)

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

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

例外

index が、 List<T>の有効なインデックスの範囲外です。

注釈

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

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

このメソッドは線形検索を実行します。したがって、このメソッドは O(n) 演算であり、 nindex から 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。

例外

index が、 List<T>の有効なインデックスの範囲外です。

-または-

count が 0 未満です。

-または-

index countは、List<T>で有効なセクションを指定しません。

注釈

countが 0 より大きい場合、List<T>index から始まり、index + count - 1 で終わる順に検索されます。

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

このメソッドは線形検索を実行します。したがって、このメソッドは 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>.Defaultの既定の等値比較子Tを使用して等価性を決定します。

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

こちらもご覧ください

適用対象