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)
- Source:
- List.cs
- Source:
- List.cs
- Source:
- 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)
- Source:
- List.cs
- Source:
- List.cs
- Source:
- 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。
例外
注解
List<T>如果 count
大于 0,则从index
正向搜索,并在index
加count
减 1 处结束。
此方法使用 的默认相等比较器EqualityComparer<T>.DefaultT
确定相等性,即列表中的值类型。
此方法执行线性搜索;因此,此方法是 O (n) 运算,其中 n 为 count
。
另请参阅
适用于
IndexOf(T)
- Source:
- List.cs
- Source:
- List.cs
- Source:
- 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。