List<T>.IndexOf 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回 List<T> 或其中一部分中,第一次出現某值之以零為起始的索引。
多載
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) 方法多載是用來搜尋兩個專案的範圍,從索引位置 2 開始;它會傳回 -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("\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
*/
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<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 (零) 在空白清單中有效。
傳回
在 List<T> 中從 index
開始到最後一個元素的範圍內,第一次出現 item
的位置之以零為起始的索引 (如有找到),如未找到則為 -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<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 (零) 在空白清單中有效。
- count
- Int32
區段中要搜尋的項目數目。
傳回
在 List<T> 中從 index
開始且包含 count
個元素的範圍內,第一次出現 item
之以零為起始的索引,如未找到則為 -1。
例外狀況
備註
如果 大於 0,則會 List<T> 從 開始 index
搜尋 ,結尾為 index
加 count
減 count
1。
這個方法會使用 清單中值類型的預設相等比較子EqualityComparer<T>.DefaultT
來決定相等。
這個方法會執行線性搜尋;因此,這個方法是 o (n) 運算,其中 n 是 count
。
另請參閱
適用於
IndexOf(T)
- 來源:
- 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
。
傳回
整個 item
中第一個出現 List<T> 之以零為起始的索引 (如有找到),否則為 -1。
實作
備註
會 List<T> 從第一個項目開始向前搜尋,並在最後一個元素結束。
這個方法會使用 清單中值類型的預設相等比較子EqualityComparer<T>.DefaultT
來決定相等。
這個方法會執行線性搜尋;因此,這個方法是 o (n) 運算,其中 n 是 Count。