List<T>.IndexOf 方法
定义
重载
IndexOf(T, Int32) |
搜索指定对象并返回 List<T> 中从指定索引到最后一个元素这部分元素中第一个匹配项的从零开始索引。Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the List<T> that extends from the specified index to the last element. |
IndexOf(T, Int32, Int32) |
搜索指定对象并返回 List<T> 中从指定索引开始并包含指定元素数的这部分元素中第一个匹配项的从零开始索引。Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the List<T> that starts at the specified index and contains the specified number of elements. |
IndexOf(T) |
搜索指定的对象,并返回整个 List<T> 中第一个匹配项的从零开始的索引。Searches for the specified object and returns the zero-based index of the first occurrence within the entire List<T>. |
示例
下面的示例演示方法的所有三个重载 IndexOf 。The following example demonstrates all three overloads of the IndexOf method. 将 List<T> 创建一个字符串,其中一个条目出现两次,位于索引位置0和索引位置5。A List<T> of strings is created, with one entry that appears twice, at index location 0 and index location 5. IndexOf(T)方法重载从开始处搜索列表,并查找字符串的第一个匹配项。The IndexOf(T) method overload searches the list from the beginning, and finds the first occurrence of the string. IndexOf(T, Int32)方法重载用于搜索索引位置3开头的列表并继续到列表末尾,并查找字符串的第二个匹配项。The IndexOf(T, Int32) method overload is used to search the list beginning with index location 3 and continuing to the end of the list, and finds the second occurrence of the string. 最后, IndexOf(T, Int32, Int32) 使用方法重载搜索两个条目的范围(从第二个索引位置开始); 它返回-1,因为该范围中没有搜索字符串的实例。Finally, the IndexOf(T, Int32, Int32) method overload is used to search a range of two entries, beginning at index location two; it returns -1 because there are no instances of the search string in that range.
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)
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> 中定位的对象。The object to locate in the List<T>. 对于引用类型,该值可以为 null
。The value can be null
for reference types.
- index
- Int32
从零开始的搜索的起始索引。The zero-based starting index of the search. 空列表中 0(零)为有效值。0 (zero) is valid in an empty list.
返回
如果在 List<T> 中从 index
到最后一个元素的元素范围内找到 item
的第一个匹配项,则为该项的从零开始的索引;否则为 -1。The zero-based index of the first occurrence of item
within the range of elements in the List<T> that extends from index
to the last element, if found; otherwise, -1.
例外
注解
List<T>将从 index
最后一个元素开始向前搜索并结束。The List<T> is searched forward starting at index
and ending at the last element.
此方法使用的默认相等比较器 EqualityComparer<T>.Default T
(列表中的值的类型)确定相等性。This method determines equality using the default equality comparer EqualityComparer<T>.Default for T
, the type of values in the list.
此方法执行线性搜索;因此,此方法是 O (n) 操作,其中 n 是从到末尾的元素数 index
List<T> 。This method performs a linear search; therefore, this method is an O(n) operation, where n is the number of elements from index
to the end of the List<T>.
另请参阅
- LastIndexOf(T)
- Contains(T)
- 在集合中执行不区分区域性的字符串操作Performing Culture-Insensitive String Operations in Collections
适用于
IndexOf(T, Int32, Int32)
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> 中定位的对象。The object to locate in the List<T>. 对于引用类型,该值可以为 null
。The value can be null
for reference types.
- index
- Int32
从零开始的搜索的起始索引。The zero-based starting index of the search. 空列表中 0(零)为有效值。0 (zero) is valid in an empty list.
- count
- Int32
要搜索的部分中的元素数。The number of elements in the section to search.
返回
如果在 List<T> 中从 index
开始并包含 count
个元素的元素范围内找到 item
的第一个匹配项,则为该项的从零开始的索引;否则为 -1。The zero-based index of the first occurrence of item
within the range of elements in the List<T> that starts at index
and contains count
number of elements, if found; otherwise, -1.
例外
index
超出了 List<T> 的有效索引范围。index
is outside the range of valid indexes for the List<T>.
- 或 --or-
count
小于 0。count
is less than 0.
- 或 --or-
index
和 count
未在 List<T> 中指定有效部分。index
and count
do not specify a valid section in the List<T>.
注解
List<T>如果大于0,则从开始向前搜索, index
并在 index
plus count
减1处结束 count
。The List<T> is searched forward starting at index
and ending at index
plus count
minus 1, if count
is greater than 0.
此方法使用的默认相等比较器 EqualityComparer<T>.Default T
(列表中的值的类型)确定相等性。This method determines equality using the default equality comparer EqualityComparer<T>.Default for T
, the type of values in the list.
此方法执行线性搜索;因此,此方法是 O (n) 操作,其中 n 是 count
。This method performs a linear search; therefore, this method is an O(n) operation, where n is count
.
另请参阅
- LastIndexOf(T)
- Contains(T)
- 在集合中执行不区分区域性的字符串操作Performing Culture-Insensitive String Operations in Collections
适用于
IndexOf(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> 中定位的对象。The object to locate in the List<T>. 对于引用类型,该值可以为 null
。The value can be null
for reference types.
返回
如果找到,则为整个 item
中 List<T> 第一个匹配项的从零开始的索引;否则为 -1。The zero-based index of the first occurrence of item
within the entire List<T>, if found; otherwise, -1.
实现
注解
List<T>向前搜索从第一个元素开始,到最后一个元素结束。The List<T> is searched forward starting at the first element and ending at the last element.
此方法使用的默认相等比较器 EqualityComparer<T>.Default T
(列表中的值的类型)确定相等性。This method determines equality using the default equality comparer EqualityComparer<T>.Default for T
, the type of values in the list.
此方法执行线性搜索;因此,此方法是 O (n) 操作,其中 n 是 Count 。This method performs a linear search; therefore, this method is an O(n) operation, where n is Count.
另请参阅
- LastIndexOf(T)
- Contains(T)
- 在集合中执行不区分区域性的字符串操作Performing Culture-Insensitive String Operations in Collections