List<T>.IndexOf 方法

定義

回傳該值 List<T> 首次出現於或部分的零為基礎索引。

多載

名稱 Description
IndexOf(T, Int32)

搜尋指定的物件,並回 List<T> 傳從指定索引到最後一個元素範圍內,第一個出現的零為基礎的索引。

IndexOf(T, Int32, Int32)

搜尋指定的物件,並回傳以零為基礎的索引,該索引 List<T> 在該元素範圍內,從指定索引開始且包含指定數量的元素。

IndexOf(T)

搜尋指定物件,並回傳整個 List<T>中首次出現的零基索引。

範例

以下範例展示了該 IndexOf 方法的三種超載方式。 List<T>建立一個字串,其中一個項目出現兩次,分別位於索引位置 0 和索引位置 5。 IndexOf(T)方法過載從一開始搜尋清單,並找到字串的首次出現點。 IndexOf(T, Int32)方法過載用於從索引位置 3 開始搜尋清單,直到列表末端,並找到該字串的第二次出現。 最後, IndexOf(T, Int32, Int32) 方法過載用於搜尋從索引位置二開始的兩個項目範圍;它回傳 -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("\nIndexOf(\"Tyrannosaurus\"): {0}",
            dinosaurs.IndexOf("Tyrannosaurus"));

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

        Console.WriteLine("\nIndexOf(\"Tyrannosaurus\", 2, 2): {0}",
            dinosaurs.IndexOf("Tyrannosaurus", 2, 2));
    }
}

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

IndexOf("Tyrannosaurus"): 0

IndexOf("Tyrannosaurus", 3): 5

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

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

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

    End Sub
End Class

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

IndexOf(T, Int32)

來源:
List.cs
來源:
List.cs
來源:
List.cs
來源:
List.cs
來源:
List.cs

搜尋指定的物件,並回 List<T> 傳從指定索引到最後一個元素範圍內,第一個出現的零為基礎的索引。

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

參數

item
T

要定位於 List<T>的物件。 值可以是 null 參考型別。

index
Int32

搜尋的零基起始索引。 0(0)在空清單中是有效的。

傳回

在元素範圍內首次出現的itemList<T>零基索引,若找到,則從 index 延伸到最後一個元素;否則為 -1。

例外狀況

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

備註

List<T>從 開始index向前搜尋,直到最後一個元素。

此方法利用預設的等式比較器來判定相等,該比較器EqualityComparer<T>.DefaultT是列表中的值類型。

此方法執行線性搜尋;因此,此方法是一個 O(n) 運算,其中 n 是從 index 到 末 List<T>端的元素數。

另請參閱

適用於

IndexOf(T, Int32, Int32)

來源:
List.cs
來源:
List.cs
來源:
List.cs
來源:
List.cs
來源:
List.cs

搜尋指定的物件,並回傳以零為基礎的索引,該索引 List<T> 在該元素範圍內,從指定索引開始且包含指定數量的元素。

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

參數

item
T

要定位於 List<T>的物件。 值可以是 null 參考型別。

index
Int32

搜尋的零基起始索引。 0(0)在空清單中是有效的。

count
Int32

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

傳回

在元素範圍內itemList<T>首次出現的index零為基礎索引,若找到,則包含count元素數量;否則為 -1。

例外狀況

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

-或-

count 小於0。

-或-

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

備註

List<T>index 大於 0 時,則從 開始index向前搜尋,直到正countcount負 1。

此方法利用預設的等式比較器來判定相等,該比較器EqualityComparer<T>.DefaultT是列表中的值類型。

此方法執行線性搜尋;因此,此方法是一個 O(n) 運算,其中 ncount

另請參閱

適用於

IndexOf(T)

來源:
List.cs
來源:
List.cs
來源:
List.cs
來源:
List.cs
來源:
List.cs

搜尋指定物件,並回傳整個 List<T>中首次出現的零基索引。

public:
 virtual int IndexOf(T item);
public int IndexOf(T item);
abstract member IndexOf : 'T -> int
override this.IndexOf : 'T -> int
Public Function IndexOf (item As T) As Integer

參數

item
T

要定位於 List<T>的物件。 值可以是 null 參考型別。

傳回

若找到,則為 首次出現itemList<T>的零基指數;否則為 -1。

實作

備註

List<T>從第一個元素開始向前搜尋,直到最後一個元素結束。

此方法利用預設的等式比較器來判定相等,該比較器EqualityComparer<T>.DefaultT是列表中的值類型。

此方法執行線性搜尋;因此,此方法是一個 O(n) 運算,其中 nCount

另請參閱

適用於