List<T>.LastIndexOf 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回 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)
- Source:
- List.cs
- Source:
- List.cs
- Source:
- List.cs
搜索指定对象并返回整个 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
。
返回
如果在整个 List<T> 中找到 item
的最后一个匹配项,则为该项的从零开始的索引;否则为 -1。
注解
从 List<T> 最后一个元素开始,在第一个元素结束,向后搜索 。
此方法使用 的默认相等比较器 EqualityComparer<T>.Default 确定相等性,即 T
列表中的值类型。
此方法执行线性搜索;因此,此方法是 O (n) 操作,其中 n 为 Count。
另请参阅
适用于
LastIndexOf(T, Int32)
- Source:
- List.cs
- Source:
- List.cs
- Source:
- List.cs
搜索指定对象并返回 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
向后搜索的从零开始的起始索引。
返回
如果找到,则返回在 List<T> 中从第一个元素到 index
的元素范围内找到 item
的最后一个匹配项的从零开始的索引;否则为 -1。
例外
index
超出了 List<T> 的有效索引范围。
注解
List<T>从 第一个元素开始index
向后搜索,并在第一个元素处结束。
此方法使用 的默认相等比较器 EqualityComparer<T>.Default 确定相等性,即 T
列表中的值类型。
此方法执行线性搜索;因此,此方法是 O (n) 操作,其中 n 是从 开头到 index
的List<T>元素数。
另请参阅
适用于
LastIndexOf(T, Int32, Int32)
- Source:
- List.cs
- Source:
- List.cs
- Source:
- List.cs
搜索指定对象并返回 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
要搜索的部分中的元素数。
返回
如果在 List<T> 中到 index
为止包含 count
个元素的这部分元素中找到 item
的最后一个匹配项,则为该项的从零开始的索引;否则为 -1。
例外
注解
List<T>如果 count
大于 0,则向后搜索 ,从index
减去count
加 1 结束index
。
此方法使用 的默认相等比较器 EqualityComparer<T>.Default 确定相等性,即 T
列表中的值类型。
此方法执行线性搜索;因此,此方法是 O (n) 操作,其中 n 为 count
。