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 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
- 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 用于引用类型。
返回
如果找到,则为整个item中最后一个匹配项List<T>的从零开始的索引;否则为 -1。
注解
从 List<T> 最后一个元素开始搜索向后搜索,最后一个元素结束。
此方法使用列表中值类型的默认相等比较器EqualityComparer<T>.DefaultT确定相等性。
此方法执行线性搜索;因此,此方法是 O(n) 操作,其中 n 为 Count。
另请参阅
适用于
LastIndexOf(T, Int32)
- Source:
- List.cs
- Source:
- List.cs
- 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
从零开始的向后搜索索引。
返回
从第一个元素扩展到第一个元素itemList<T>范围内的最后一个匹配index项的从零开始的索引(如果找到);否则为 -1。
例外
index 超出有效索引 List<T>的范围。
注解
从 List<T> 第一个元素开始 index 和结束搜索后移。
此方法使用列表中值类型的默认相等比较器EqualityComparer<T>.DefaultT确定相等性。
此方法执行线性搜索;因此,此方法是 O(n) 运算,其中 n 是从开始 List<T> 到 index的元素数。
另请参阅
适用于
LastIndexOf(T, Int32, Int32)
- Source:
- List.cs
- Source:
- List.cs
- 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
要搜索的节中的元素数。
返回
在包含item元素数的List<T>元素count范围内最后一个匹配index项的从零开始的索引(如果找到);否则为 -1。
例外
注解
如果List<T>大于 0,index则从负index加 1 开始搜索count后向count搜索。
此方法使用列表中值类型的默认相等比较器EqualityComparer<T>.DefaultT确定相等性。
此方法执行线性搜索;因此,此方法是 O(n) 操作,其中 n 为 count。