Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Array.LastIndexOf Method

Returns the index of the last occurrence of a value in a one-dimensional Array or in a portion of the Array.

Overload List

Searches for the specified object and returns the index of the last occurrence within the entire one-dimensional Array.

[Visual Basic] Overloads Public Shared Function LastIndexOf(Array, Object) As Integer
[C#] public static int LastIndexOf(Array, object);
[C++] public: static int LastIndexOf(Array*, Object*);
[JScript] public static function LastIndexOf(Array, Object) : int;

Searches for the specified object and returns the index of the last occurrence within the section of the one-dimensional Array that extends from the first element to the specified index.

[Visual Basic] Overloads Public Shared Function LastIndexOf(Array, Object, Integer) As Integer
[C#] public static int LastIndexOf(Array, object, int);
[C++] public: static int LastIndexOf(Array*, Object*, int);
[JScript] public static function LastIndexOf(Array, Object, int) : int;

Searches for the specified object and returns the index of the last occurrence within the section of the one-dimensional Array that contains the specified number of elements and ends at the specified index.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Shared Function LastIndexOf(Array, Object, Integer, Integer) As Integer
[C#] public static int LastIndexOf(Array, object, int, int);
[C++] public: static int LastIndexOf(Array*, Object*, int, int);
[JScript] public static function LastIndexOf(Array, Object, int, int) : int;

Example

The following code example shows how to determine the index of the last occurrence of a specified element in an array. Note that the LastIndexOf method is a backward search; therefore, count must be less than or equal to (startIndex- the lower bound of the array + 1).

[Visual Basic] 
Imports System
Imports Microsoft.VisualBasic

Public Class SamplesArray    
    
    Public Shared Sub Main()
        
        ' Creates and initializes a new Array with three elements of
        ' the same value.
        Dim myArray As Array = Array.CreateInstance(GetType(String), 12)
        myArray.SetValue("the", 0)
        myArray.SetValue("quick", 1)
        myArray.SetValue("brown", 2)
        myArray.SetValue("fox", 3)
        myArray.SetValue("jumps", 4)
        myArray.SetValue("over", 5)
        myArray.SetValue("the", 6)
        myArray.SetValue("lazy", 7)
        myArray.SetValue("dog", 8)
        myArray.SetValue("in", 9)
        myArray.SetValue("the", 10)
        myArray.SetValue("barn", 11)
        
        ' Displays the values of the Array.
        Console.WriteLine("The Array contains the following values:")
        PrintIndexAndValues(myArray)
        
        ' Searches for the last occurrence of the duplicated value.
        Dim myString As String = "the"
        Dim myIndex As Integer = Array.LastIndexOf(myArray, myString)
        Console.WriteLine("The last occurrence of ""{0}"" is at index {1}.", _
           myString, myIndex)
        
        ' Searches for the last occurrence of the duplicated value in the first
        ' section of the Array.
        myIndex = Array.LastIndexOf(myArray, myString, 8)
        Console.WriteLine("The last occurrence of ""{0}"" between the start " _
           + "and index 8 is at index {1}.", myString, myIndex)
        
        ' Searches for the last occurrence of the duplicated value in a section
        ' of the Array.  Note that the start index is greater than the end
        ' index because the search is done backward.
        myIndex = Array.LastIndexOf(myArray, myString, 10, 6)
        Console.WriteLine("The last occurrence of ""{0}"" between index 5 " _
           + "and index 10 is at index {1}.", myString, myIndex)
    End Sub
    
    
    Public Shared Sub PrintIndexAndValues(myArray As Array)
        Dim i As Integer
        For i = myArray.GetLowerBound(0) To myArray.GetUpperBound(0)
            Console.WriteLine(ControlChars.Tab + "[{0}]:" + ControlChars.Tab _
               + "{1}", i, myArray.GetValue(i))
        Next i
    End Sub
End Class

' This code produces the following output.
' 
' The Array contains the following values:
'     [0]:    the
'     [1]:    quick
'     [2]:    brown
'     [3]:    fox
'     [4]:    jumps
'     [5]:    over
'     [6]:    the
'     [7]:    lazy
'     [8]:    dog
'     [9]:    in
'     [10]:    the
'     [11]:    barn
' The last occurrence of "the" is at index 10.
' The last occurrence of "the" between the start and index 8 is at index 6.
' The last occurrence of "the" between index 5 and index 10 is at index 10. 

[C#] 
using System;
public class SamplesArray  {

   public static void Main()  {

      // Creates and initializes a new Array with three elements of the same value.
      Array myArray=Array.CreateInstance( typeof(String), 12 );
      myArray.SetValue( "the", 0 );
      myArray.SetValue( "quick", 1 );
      myArray.SetValue( "brown", 2 );
      myArray.SetValue( "fox", 3 );
      myArray.SetValue( "jumps", 4 );
      myArray.SetValue( "over", 5 );
      myArray.SetValue( "the", 6 );
      myArray.SetValue( "lazy", 7 );
      myArray.SetValue( "dog", 8 );
      myArray.SetValue( "in", 9 );
      myArray.SetValue( "the", 10 );
      myArray.SetValue( "barn", 11 );

      // Displays the values of the Array.
      Console.WriteLine( "The Array contains the following values:" );
      PrintIndexAndValues( myArray );

      // Searches for the last occurrence of the duplicated value.
      String myString = "the";
      int myIndex = Array.LastIndexOf( myArray, myString );
      Console.WriteLine( "The last occurrence of \"{0}\" is at index {1}.", myString, myIndex );

      // Searches for the last occurrence of the duplicated value in the first section of the Array.
      myIndex = Array.LastIndexOf( myArray, myString, 8 );
      Console.WriteLine( "The last occurrence of \"{0}\" between the start and index 8 is at index {1}.", myString, myIndex );

      // Searches for the last occurrence of the duplicated value in a section of the Array.
      // Note that the start index is greater than the end index because the search is done backward.
      myIndex = Array.LastIndexOf( myArray, myString, 10, 6 );
      Console.WriteLine( "The last occurrence of \"{0}\" between index 5 and index 10 is at index {1}.", myString, myIndex );
   }


   public static void PrintIndexAndValues( Array myArray )  {
      for ( int i = myArray.GetLowerBound(0); i <= myArray.GetUpperBound(0); i++ )
         Console.WriteLine( "\t[{0}]:\t{1}", i, myArray.GetValue( i ) );
   }
}
/* 
This code produces the following output.

The Array contains the following values:
    [0]:    the
    [1]:    quick
    [2]:    brown
    [3]:    fox
    [4]:    jumps
    [5]:    over
    [6]:    the
    [7]:    lazy
    [8]:    dog
    [9]:    in
    [10]:    the
    [11]:    barn
The last occurrence of "the" is at index 10.
The last occurrence of "the" between the start and index 8 is at index 6.
The last occurrence of "the" between index 5 and index 10 is at index 10.
*/

[C++] 
#using <mscorlib.dll>
using namespace System;

void PrintIndexAndValues( Array* myArray );
 
void main()  {
 
    // Creates and initializes a new Array instance with three elements of the same value.
    Array* myArray = Array::CreateInstance( __typeof(String), 12 );
    myArray->SetValue( S"the", 0 );
    myArray->SetValue( S"quick", 1 );
    myArray->SetValue( S"brown", 2 );
    myArray->SetValue( S"fox", 3 );
    myArray->SetValue( S"jumped", 4 );
    myArray->SetValue( S"over", 5 );
    myArray->SetValue( S"the", 6 );
    myArray->SetValue( S"lazy", 7 );
    myArray->SetValue( S"dog", 8 );
    myArray->SetValue( S"in", 9 );
    myArray->SetValue( S"the", 10 );
    myArray->SetValue( S"barn", 11 );
 
    // Displays the values of the Array.
    Console::WriteLine( "The Array instance contains the following values:" );
    PrintIndexAndValues( myArray );
 
    // Searches for the last occurrence of the duplicated value.
    String* myString = "the";
    int myIndex = Array::LastIndexOf( myArray, myString );
    Console::WriteLine( "The last occurrence of \"{0}\" is at index {1}.", myString, __box(myIndex) );
 
    // Searches for the last occurrence of the duplicated value in the first section of the Array.
    myIndex = Array::LastIndexOf( myArray, myString, 8 );
    Console::WriteLine( "The last occurrence of \"{0}\" between the start and index 8 is at index {1}.", myString, __box(myIndex));
 
    // Searches for the last occurrence of the duplicated value in a section of the Array.  
    // Note that the start index is greater than the end index because the search is done backward.
    myIndex = Array::LastIndexOf( myArray, myString, 10, 6 );
    Console::WriteLine( "The last occurrence of \"{0}\" between index 5 and index 10 is at index {1}.", myString, __box(myIndex));
}
 
 
void PrintIndexAndValues( Array* myArray ) {
    for ( int i = myArray->GetLowerBound(0); i <= myArray->GetUpperBound(0); i++ )
        Console::WriteLine( "\t[{0}]:\t{1}", __box(i), myArray->GetValue( i ) );
}

 /* 
 This code produces the following output.
 
 The Array instance contains the following values:
     [0]:    the
     [1]:    quick
     [2]:    brown
     [3]:    fox
     [4]:    jumped
     [5]:    over
     [6]:    the
     [7]:    lazy
     [8]:    dog
     [9]:    in
     [10]:    the
     [11]:    barn
 The last occurrence of "the" is at index 10.
 The last occurrence of "the" between the start and index 8 is at index 6.
 The last occurrence of "the" between index 5 and index 10 is at index 10.
 */

[JScript] 
import System;

// Creates and initializes a new Array with three elements of the same value.
var myArray : System.Array= System.Array.CreateInstance( System.String, 12 );
myArray.SetValue( "the", 0 );
myArray.SetValue( "quick", 1 );
myArray.SetValue( "brown", 2 );
myArray.SetValue( "fox", 3 );
myArray.SetValue( "jumped", 4 );
myArray.SetValue( "over", 5 );
myArray.SetValue( "the", 6 );
myArray.SetValue( "lazy", 7 );
myArray.SetValue( "dog", 8 );
myArray.SetValue( "in", 9 );
myArray.SetValue( "the", 10 );
myArray.SetValue( "barn", 11 );

// Displays the values of the Array.
Console.WriteLine( "The Array contains the following values:" );
PrintIndexAndValues( myArray );

// Searches for the last occurrence of the duplicated value.
var myString : String = "the";
var myIndex : int = System.Array.LastIndexOf( myArray, myString );
Console.WriteLine( "The last occurrence of \"{0}\" is at index {1}.", myString, myIndex );

// Searches for the last occurrence of the duplicated value in the first section of the Array.
myIndex = System.Array.LastIndexOf( myArray, myString, 8 );
Console.WriteLine( "The last occurrence of \"{0}\" between the start and index 8 is at index {1}.", myString, myIndex );

// Searches for the last occurrence of the duplicated value in a section of the Array. 
// Note that the start index is greater than the end index because the search is done backward.
myIndex = System.Array.LastIndexOf( myArray, myString, 10, 6 );
Console.WriteLine( "The last occurrence of \"{0}\" between index 5 and index 10 is at index {1}.", myString, myIndex );
 
 
function PrintIndexAndValues( myArray : System.Array )  {
   for ( var i : int = myArray.GetLowerBound(0); i <= myArray.GetUpperBound(0); i++ )
      Console.WriteLine( "\t[{0}]:\t{1}", i, myArray.GetValue( i ) );
}
 
 /* 
 This code produces the following output.
 
 The Array contains the following values:
     [0]:    the
     [1]:    quick
     [2]:    brown
     [3]:    fox
     [4]:    jumped
     [5]:    over
     [6]:    the
     [7]:    lazy
     [8]:    dog
     [9]:    in
     [10]:    the
     [11]:    barn
 The last occurrence of "the" is at index 10.
 The last occurrence of "the" between the start and index 8 is at index 6.
 The last occurrence of "the" between index 5 and index 10 is at index 10.
 */

See Also

Array Class | Array Members | System Namespace

Show:
© 2015 Microsoft