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

戻り値

Int32

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

注釈

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

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

このメソッドは線形検索を実行します。したがって、このメソッドは 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 から始まるインデックス。

戻り値

Int32

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

例外

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

注釈

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

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

このメソッドは線形検索を実行します。したがって、このメソッドは O(n) 演算であり、n は最初から .List<T> index

こちらもご覧ください

適用対象

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

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

戻り値

Int32

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

例外

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

  • または - count が 0 未満です。

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

注釈

List<T> 0 より大きい場合countは、マイナス count + 1 でindex始まりindex、終わる後方に検索されます。

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

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

こちらもご覧ください

適用対象