List<T>.LastIndexOf メソッド

定義

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

オーバーロード

名前 説明
LastIndexOf(T)

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

LastIndexOf(T, Int32)

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

LastIndexOf(T, Int32, Int32)

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

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

返品

List<T>全体でitemが最後に出現した場合は 0 から始まるインデックス。それ以外の場合は -1。

注釈

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

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

このメソッドは線形検索を実行します。したがって、このメソッドは 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。

例外

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

注釈

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

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

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

検索するセクション内の要素の数。

返品

count数の要素を含み、見つかった場合はindexで終わる、List<T>内の要素の範囲内で最後に出現したitemの 0 から始まるインデックス。それ以外の場合は -1。

例外

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

-または-

count が 0 未満です。

-または-

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

注釈

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

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

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

こちらもご覧ください

適用対象