List<T>.LastIndexOf 方法

定義

傳回 List<T> 或其中一部分中最後一次出現某值之以零為起始的索引。

多載

LastIndexOf(T)

搜尋指定的物件,並傳回整個 List<T> 中最後一個相符項目之以零為起始的索引。

LastIndexOf(T, Int32)

List<T> 中從第一個項目開始到指定的索引這段範圍內,搜尋指定的物件最後一次出現的位置,並傳回其索引值 (索引以零為起始)。

LastIndexOf(T, Int32, Int32)

List<T> 中包含指定個數項目且結尾位於指定索引的範圍內,搜尋指定的物件最後一次出現的位置,並傳回其索引值 (索引以零為起始)。

範例

下列範例示範 方法的所有三個 LastIndexOf 多載。 系統會建立字串的 , List<T> 其中一個專案會出現兩次,位於索引位置 0 和索引位置 5。 方法 LastIndexOf(T) 多載會從結尾搜尋整個清單,並尋找第二個出現的字串。 方法 LastIndexOf(T, Int32) 多載是用來從索引位置 3 開始向後搜尋清單,並繼續到清單的開頭,因此它會尋找清單中第一個出現的字串。 最後, LastIndexOf(T, Int32, Int32) 方法多載是用來搜尋四個專案的範圍,從索引位置 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> 中最後一個相符項目之以零為起始的索引。

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

如果找到的話,則為整個 List<T> 中最後一次出現 item 之以零為起始的索引 (如有找到),如未找到則為 -1。

備註

List<T> 從最後一個專案開始向後搜尋,並在第一個元素結束。

這個方法會使用 清單中數值型別的預設相等比較子 EqualityComparer<T>.Default T 來決定相等。

這個方法會執行線性搜尋;因此,這個方法是 o (n) 作業,其中 nCount

另請參閱

適用於

LastIndexOf(T, Int32)

List<T> 中從第一個項目開始到指定的索引這段範圍內,搜尋指定的物件最後一次出現的位置,並傳回其索引值 (索引以零為起始)。

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

向後搜尋之以零為起始的起始索引。

傳回

Int32

List<T> 中從第一個元素開始到 index 這段範圍內,如果有找到指定的 item 最後一次出現的位置,則為該位置以零為起始的索引,如未找到則為 -1。

例外狀況

index 超出 List<T> 的有效索引範圍。

備註

List<T>index 第一個元素開始向後搜尋 , 並結束。

這個方法會使用 清單中數值型別的預設相等比較子 EqualityComparer<T>.Default T 來決定相等。

這個方法會執行線性搜尋;因此,這個方法是 O (n) 運算,其中 n 是 從 開頭 List<T>index 的元素數目。

另請參閱

適用於

LastIndexOf(T, Int32, Int32)

List<T> 中包含指定個數項目且結尾位於指定索引的範圍內,搜尋指定的物件最後一次出現的位置,並傳回其索引值 (索引以零為起始)。

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

向後搜尋之以零為起始的起始索引。

count
Int32

區段中要搜尋的項目數目。

傳回

Int32

如果找到,則為 List<T> 中包含 count 個元素且結束於 index 的元素範圍內,item 的最後一個相符項目之以零為起始的索引,否則為 -1。

例外狀況

index 超出 List<T> 的有效索引範圍。

-或- count 小於 0。

-或- indexcount 不指定 List<T> 的有效區段。

備註

如果 大於 0,則會 List<T> 從 開始向後 index 搜尋 , count 且結尾為 index 減號 count 加上 1。

這個方法會使用 清單中數值型別的預設相等比較子 EqualityComparer<T>.Default T 來決定相等。

這個方法會執行線性搜尋;因此,這個方法是 o (n) 作業,其中 ncount

另請參閱

適用於