List<T>.LastIndexOf メソッド

定義

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

オーバーロード

LastIndexOf(T)

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

LastIndexOf(T, Int32)

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

LastIndexOf(T, Int32, Int32)

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

次の例では、 メソッドの 3 つのオーバーロードすべてを示します LastIndexOfList<T>インデックス位置 0 とインデックス位置 5 に、1 つのエントリが 2 回表示される文字列の が作成されます。 メソッド オーバーロードは LastIndexOf(T) 、リスト全体を最後から検索し、文字列の 2 番目の出現箇所を検索します。 メソッド オーバーロードは LastIndexOf(T, Int32) 、インデックス位置 3 で始まり、リストの先頭まで続いてリストを後方に検索するために使用されるため、リスト内の文字列の最初の出現箇所を検索します。 最後に、 LastIndexOf(T, Int32, Int32) メソッド オーバーロードを使用して、インデックス位置 4 から後方に拡張する 4 つのエントリの範囲を検索します (つまり、場所 4、3、2、1 の項目を検索します)。この検索では、その範囲に検索文字列のインスタンスがないため、-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("\nLastIndexOf(\"Tyrannosaurus\"): {0}", 
        dinosaurs->LastIndexOf("Tyrannosaurus"));

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

    Console::WriteLine("\nLastIndexOf(\"Tyrannosaurus\", 4, 4): {0}", 
        dinosaurs->LastIndexOf("Tyrannosaurus", 4, 4));
}

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

LastIndexOf("Tyrannosaurus"): 5

LastIndexOf("Tyrannosaurus", 3): 0

LastIndexOf("Tyrannosaurus", 4, 4): -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("\nLastIndexOf(\"Tyrannosaurus\"): {0}",
            dinosaurs.LastIndexOf("Tyrannosaurus"));

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

        Console.WriteLine("\nLastIndexOf(\"Tyrannosaurus\", 4, 4): {0}",
            dinosaurs.LastIndexOf("Tyrannosaurus", 4, 4));
    }
}

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

LastIndexOf("Tyrannosaurus"): 5

LastIndexOf("Tyrannosaurus", 3): 0

LastIndexOf("Tyrannosaurus", 4, 4): -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 & _
            "LastIndexOf(""Tyrannosaurus""): {0}", _
            dinosaurs.LastIndexOf("Tyrannosaurus"))

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

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

    End Sub
End Class

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

LastIndexOf(T)

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

public:
 int LastIndexOf(T item);
public int LastIndexOf (T item);
member this.LastIndexOf : 'T -> int
Public Function LastIndexOf (item As T) As Integer

パラメーター

item
T

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

戻り値

item が見つかった場合は、List<T> 全体で最後に見つかった位置のインデックス番号 (0 から始まる)。それ以外の場合は -1。

注釈

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

このメソッドは、 の既定の等値比較子EqualityComparer<T>.DefaultTを使用して、一覧内の値の型を使用して等値を決定します。

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

こちらもご覧ください

適用対象

LastIndexOf(T, Int32)

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

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

パラメーター

item
T

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

index
Int32

後方検索の開始位置を示す 0 から始まるインデックス。

戻り値

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

例外

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

注釈

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

このメソッドは、 の既定の等値比較子EqualityComparer<T>.DefaultTを使用して、一覧内の値の型を使用して等値を決定します。

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

こちらもご覧ください

適用対象

LastIndexOf(T, Int32, Int32)

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

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

パラメーター

item
T

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

index
Int32

後方検索の開始位置を示す 0 から始まるインデックス。

count
Int32

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

戻り値

count 個の要素を格納し、index の位置で終了する 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です。

こちらもご覧ください

適用対象