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、3、2、1 の項目を検索する) 4 つのエントリの範囲を検索するために使用されます。この検索では、その範囲に検索文字列のインスタンスがないため、-1 が返されます。

C#
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
 */

LastIndexOf(T)

ソース:
List.cs
ソース:
List.cs
ソース:
List.cs

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

C#
public int LastIndexOf (T item);

パラメーター

item
T

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

戻り値

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

注釈

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

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

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

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

LastIndexOf(T, Int32)

ソース:
List.cs
ソース:
List.cs
ソース:
List.cs

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

C#
public int LastIndexOf (T item, int index);

パラメーター

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>数です。

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

LastIndexOf(T, Int32, Int32)

ソース:
List.cs
ソース:
List.cs
ソース:
List.cs

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

C#
public int LastIndexOf (T item, int index, int count);

パラメーター

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です。

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0