HomeSearch

VB.NET Array.Find Function, FindAll

Use the Array.Find and Array.FindAll Functions. These Functions search arrays with Predicates.
Array.Find. The Array.Find Function is available for all arrays. It searches an array. It applies a Predicate method we specify. This Predicate indicates whether an element matches or not. We demonstrate Array.Find.Array
Example. First, we use Array.Find with two arguments. The first argument is the array we are searching. And the second is the Predicate definition. We use the lambda expression syntax to specify the predicates.

Lambda: In this example, we use lambda expressions that handle String elements. We name each String element "x".

Lambda

StartsWith: We use the StartsWith Function to test prefixes. We use the Length property to access character counts.

StartsWith, EndsWithString Length

FindAll: We also apply the FindAll Function. This is similar to Find, but it returns an array of all the elements found.

Info: Find returns only one element. If no matches are found, Nothing is returned.

Nothing
VB.NET program that uses Find, FindAll Module Module1 Sub Main() ' Input array. Dim arr() As String = {"cat", "dog", "carrot", "bird"} ' Find element starting with "car". Dim value1 As String = Array.Find(arr, Function(x) (x.StartsWith("car"))) Console.WriteLine(value1) ' Find element of length 3. Dim value2 As String = Array.Find(arr, Function(x) (x.Length = 3)) Console.WriteLine(value2) ' Find all elements of length 4 or less. Dim arr2() As String = Array.FindAll(arr, Function(x) (x.Length <= 4)) Console.WriteLine(String.Join(",", arr2)) End Sub End Module Output carrot cat cat,dog,bird
Notes, lambdas. In VB.NET, we use the Function keyword with two parenthetical blocks to specify a lambda. The first part is the argument to the Function, and the second part is the expression that the Function evaluates and returns.
Summary. Arrays can be searched with loops. This often results in more complex code—we must manage arrays, elements and indexes. With Find and FindAll, we eliminate these forms of complexity. This can result in clearer, less error-prone code.For Each, For
Home
Dot Net Perls
© 2007-2020 Sam Allen. Every person is special and unique. Send bug reports to info@dotnetperls.com.