VB.NET Array.IndexOf, LastIndexOf

This VB.NET article covers the Array.IndexOf and LastIndexOf Functions. These Functions search for elements.


Array.IndexOf searches an array from its beginning. It returns the index of the element with the specified value. LastIndexOf, meanwhile, searches from the end. Both methods return -1 if no match is found.Arrays


To start, we create an array of six elements. We use the maximum index of the array in its declaration. Please notice how the array has two elements with value 5—one is at index 2 and one is at index 5.

IndexOf: We then call the Array.IndexOf Function. It returns the value 2, meaning it found the value 5 at index 2.

LastIndexOf: We finally call LastIndexOf. It returns the value 5, meaning it found the value 5 at index 5.

VB.NET program that uses Array.IndexOf, LastIndexOf Module Module1 Sub Main() Dim arr(5) As Integer arr(0) = 1 arr(1) = 3 arr(2) = 5 arr(3) = 7 arr(4) = 8 arr(5) = 5 ' Search array with IndexOf. Dim index1 As Integer = Array.IndexOf(arr, 5) Console.WriteLine(index1) ' Search with LastIndexOf. Dim index2 As Integer = Array.LastIndexOf(arr, 5) Console.WriteLine(index2) End Sub End Module Output 2 5

In this example,

we see the difference between IndexOf and LastIndexOf. IndexOf searches from the start of the array. And LastIndexOf searches from the end. This means they locate different elements in some arrays.

No match.

IndexOf and LastIndexOf return -1 if no matching element is found. When using these Functions, you must be careful to check for -1. If you try to use -1 as an index to an array, you will receive an exception.
VB.NET program that uses IndexOf, finds no match Module Module1 Sub Main() ' An array. Dim arr() As Integer = {10, 20, 30} ' Search for a value that does not exist. Dim result As Integer = Array.IndexOf(arr, 100) Console.WriteLine(result) End Sub End Module Output -1


We observed the Array.IndexOf and LastIndexOf Functions. These Functions are a declarative way to search an array for a specific matching value. When compared to a For-Loop, this reduces code size.For Each, For
Dot Net Perls
© 2007-2019 Sam Allen. All rights reserved. Written by Sam Allen,