Retrieves all the elements that match the conditions defined by the specified predicate.
Assembly: mscorlib (in mscorlib.dll)
The type of the elements of the array.
- Type: 
The one-dimensional, zero-based Array to search.
array is a null reference (Nothing in Visual Basic).
match is a null reference (Nothing in Visual Basic).
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), and the elements that match the conditions are saved in the returned array.
This method is an O(n) operation, where n is the Length of array.
The following example creates an array of 50 random numbers with values that can range from 0 to 1,000. It then calls the method with a lambda expression that returns the values that range from 300 to 600. Note that the lambda expression is passed a parameter named x; this represents the individual array member that is passed to the Predicate(T). Also note that the local lBound and uBound variables are accessible within the lambda expression.
The following code example demonstrates the Find(T), FindLast(T), and generic methods. An array of strings is created, containing 8 dinosaur names, two of which (at positions 1 and 5) end with "saurus". The code example also defines a search predicate method named EndsWithSaurus, which accepts a string parameter and returns a Boolean value indicating whether the input string ends in "saurus".
The Find(T) generic method traverses the array from the beginning, passing each element in turn to the EndsWithSaurus method. The search stops when the EndsWithSaurus method returns true for the element "Amargasaurus".
In C# and Visual Basic, it is not necessary to create the Predicate<string> delegate (Predicate(Of String) in Visual Basic) explicitly. These languages infer the correct delegate from context and create it automatically.
The FindLast(T) generic method is used to search the array backward from the end. It finds the element "Dilophosaurus" at position 5. The generic method is used to return an array containing all the elements that end in "saurus". The elements are displayed.
.NET FrameworkSupported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0
.NET Framework Client ProfileSupported in: 4, 3.5 SP1
Portable Class LibrarySupported in: Portable Class Library
.NET for Windows Store appsSupported in: Windows 8
Supported in: Windows Phone 8.1
Supported in: Windows Phone Silverlight 8.1
Supported in: Windows Phone Silverlight 8
Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.