Array.FindIndex<T> Method (T[], Int32, Int32, Predicate<T>)

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the Array that starts at the specified index and contains the specified number of elements.

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

public static int FindIndex<T>(
	T[] array,
	int startIndex,
	int count,
	Predicate<T> match

Type Parameters


The type of the elements of the array.


Type: T []
The one-dimensional, zero-based Array to search.
Type: System.Int32
The zero-based starting index of the search.
Type: System.Int32
The number of elements in the section to search.
Type: System.Predicate<T>
The Predicate<T> that defines the conditions of the element to search for.

Return Value

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


array is null.


match is null.


startIndex is outside the range of valid indexes for array.


count is less than zero.


startIndex and count do not specify a valid section in array.

The Array is searched forward starting at startIndex and ending at startIndex plus count minus 1, if count is greater than 0.

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 array are individually passed to the Predicate<T>.

This method is an O(n) operation, where n is count.

Windows Phone OS

Supported in: 8.1, 8.0

© 2015 Microsoft