List<T>.FindLastIndex Method (Int32, Predicate<T>)


Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the List<T> that extends from the first element to the specified index.

Namespace:   System.Collections.Generic
Assembly:  mscorlib (in mscorlib.dll)

public int FindLastIndex(
	int startIndex,
	Predicate<T> match


Type: System.Int32

The zero-based starting index of the backward search.

Type: System.Predicate<T>

The Predicate<T> delegate that defines the conditions of the element to search for.

Return Value

Type: System.Int32

The zero-based index of the last occurrence of an element that matches the conditions defined by match, if found; otherwise, –1.

Exception Condition

match is null.


startIndex is outside the range of valid indexes for the List<T>.

The List<T> is searched backward starting at startIndex and ending at the first element.

The Predicate<T> is a delegate to a method that returns true if the object passed to it matches the conditions defined in the delegate. The elements of the current List<T> are individually passed to the Predicate<T> delegate.

This method performs a linear search; therefore, this method is an O(n) operation, where n is the number of elements from the beginning of the List<T> to startIndex.

Universal Windows Platform
Available since 8
.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Return to top