Método Array.LastIndexOf en C# | Serie 1

El método Array.LastIndexOf se usa para encontrar el último elemento coincidente en una array unidimensional. Comienza la búsqueda desde el último elemento de una array. Devuelve el índice del elemento que contiene el valor especificado. Hay 6 métodos en la lista de sobrecarga de este método de la siguiente manera:

  • LastIndexOf(array, objeto)
  • LastIndexOf(Array, Objeto, Int32)
  • LastIndexOf(Array, Objeto, Int32, Int32)
  • ÚltimoÍndiceDe<T>(T[], T)
  • ÚltimoÍndiceDe<T>(T[], T, Int32)
  • ÚltimoÍndiceDe<T>(T[], T, Int32, Int32)

Aquí discutimos sólo los tres primeros métodos.

LastIndexOf(array, objeto)

Este método busca el objeto especificado y devuelve el índice de la última aparición dentro de toda la array unidimensional.

Sintaxis: public static int LastIndexOf (Array arr, valor del objeto);

Parámetros:
arr : Es el Array unidimensional a buscar.
valor : Es el objeto a ubicar en la array.

Valor devuelto: si se encuentra el índice de valor , este método devuelve el índice de la última aparición de ese valor dentro de toda la array. Si no se encuentra entonces, el límite inferior de la array menos 1.

Excepciones:

  • ArgumentNullException: si la array arr es nula.
  • RankException: si la array arr es multidimensional.

Ejemplo 1:

// C# program to demonstrate the 
// Array.LastIndexOf(Array, 
// Object) method
using System;
  
class GFG {
  
    static void Main()
    {
        int[] arr = {1, 2, 6, 8, 6, 2};
  
        // search for "6" from end of the array
        // returns index 4
        int indx1 = Array.LastIndexOf(arr, 6);
          
        Console.WriteLine("First Index of 6 search"+
                     " from end found at " + indx1);
  
        // search for "2" from end of the array
        // returns index 5
        int indx2 = Array.LastIndexOf(arr, 2);
         
        // when the object is found then 
        // the search will stop searching
        Console.WriteLine("First Index of 2 search "+
                       "from end found at " + indx2);       
    }
}
Producción:

First Index of 6 search from end found at 4
First Index of 2 search from end found at 5

Ejemplo 2:

// C# program to demonstrate the 
// Array.LastIndexOf(Array, 
// Object) method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
  
        // creating a array of type Array
        Array arr = Array.CreateInstance(typeof(String), 8);
  
        // 0, 1, 2, 3, 4, 5, 6, 7 are 
        // the indexes of the elements
        arr.SetValue("java", 0);
        arr.SetValue("C#", 1);
        arr.SetValue("C++", 2);
        arr.SetValue("C", 3);
        arr.SetValue("Python", 4);
        arr.SetValue("C#", 5);
        arr.SetValue("C++", 6);
        arr.SetValue("Ruby", 7);
          
        String s1 = "C#";
        int index1 = Array.LastIndexOf(arr, s1);
  
        Console.WriteLine("First Index of C# search"+
                     " from end found at " + index1);
  
        String s2 = "C++";
        int index2 = Array.LastIndexOf(arr, s2);
  
        Console.WriteLine("First Index of C++ search"+
                     " from end found at " + index2);
    }
}
Producción:

First Index of C# search from end found at 5
First Index of C++ search from end found at 6

LastIndexOf(Array, Objeto, Int32)

Este método busca el objeto especificado y devuelve el índice de la última aparición dentro del rango de elementos en el Array unidimensional que se extiende desde el primer elemento hasta el índice especificado.

Sintaxis: public static int LastIndexOf (Array arr, valor de objeto, int start);

Parámetros:
arr: Es el Array unidimensional a buscar.
valor: Es el objeto a ubicar en el arreglo .
inicio: Es el índice de inicio de la búsqueda hacia atrás.

Valor devuelto: si se encuentra el índice de valor , este método devuelve el índice de la última aparición de ese valor dentro de un rango de elementos en la array “arr que se extiende desde el primer elemento hasta el inicio. Si no se encuentra entonces, el límite inferior de la array menos 1.

Excepciones:

  • ArgumentNullException: si la array arr es nula.
  • RankException: si la array arr es multidimensional.
  • ArgumentOutOfRangeException: si el índice de «inicio» está fuera del rango de índices válidos para la array.

Ejemplo 1:

// C# program to demonstrate the 
// Array.LastIndexOf(Array, Object,
// Int32) method
using System;
  
class GFG {
  
    static void Main()
    {
        int[] arr = {1, 2, 6, 8, 6, 2};
  
        // search for "6"
        // search start from index 3
        // so returns index 2
        int indx1 = Array.LastIndexOf(arr, 6, 3);
          
        Console.WriteLine("First Index of 6 search "+
                   "from index 3 found at " + indx1);
  
         // search for "2"
         // search start from index 2
        // so returns index 1
        int indx2 = Array.LastIndexOf(arr, 2, 2);
         
        Console.WriteLine("First Index of 2 search "+
                   "from index 2 found at " + indx2);
    }
}
Producción:

First Index of 6 search from index 3 found at 2
First Index of 2 search from index 2 found at 1

Ejemplo 2:

// C# program to demonstrate the 
// Array.LastIndexOf(Array, Object, 
// Int32) method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
  
        // creating a array of type Array
        Array arr = Array.CreateInstance(typeof(String), 8);
  
        // 0, 1, 2, 3, 4, 5, 6, 7 are the
        // indexes of the elements
        arr.SetValue("java", 0);
        arr.SetValue("C#", 1);
        arr.SetValue("C++", 2);
        arr.SetValue("C", 3);
        arr.SetValue("Python", 4);
        arr.SetValue("C#", 5);
        arr.SetValue("C++", 6);
        arr.SetValue("Ruby", 7);
          
        String s1 = "C#";
  
        // the search start from index 4
        // so returns index 1
        int index1 = Array.LastIndexOf(arr, s1, 4);
         
        Console.WriteLine("First Index of C# search "+
                   "from index 4 found at " + index1);
  
        String s2 = "C++";
  
        // the search start from index 4
        // so returns index 2
        int index2 = Array.LastIndexOf(arr, s2, 3);
          
        Console.WriteLine("First Index of C++ search"+
                  " from index 3 found at " + index2);
    }
}
Producción:

First Index of C# search from index 4 found at 1
First Index of C++ search from index 3 found at 2

LastIndexOf(Array, Objeto, Int32, Int32)

Este método busca el objeto especificado y devuelve el índice de la última aparición dentro del rango de elementos en la array unidimensional que contiene el número especificado de elementos y termina en el índice especificado.

Sintaxis: public static int LastIndexOf (Array arr, valor de objeto, int start, int count);

Parámetros:
arr : Es el Array unidimensional a buscar.
valor : Es el objeto a ubicar en la array.
start : Es el índice de inicio de la búsqueda.
count : Es el número de elementos de la sección a buscar.

Valor devuelto: si se encuentra el índice de valor , este método devuelve el índice de la última aparición de ese valor dentro de un rango de elementos en la array «arr» que contiene la cantidad de elementos especificados en «recuento» y termina en «inicio». ” índice. Si no se encuentra entonces, el límite inferior de la array menos 1.

Excepciones:

  • ArgumentNullException: si la array arr es nula.
  • RankException: si la array arr es multidimensional.
  • ArgumentOutOfRangeException: si el índice de «inicio» está fuera del rango de índices válidos para la array o «recuento» es menor que cero, o el índice de «inicio» y el recuento no especifican una sección válida en la array.

Ejemplo 1:

// C# program to demonstrate the 
// Array.LastIndexOf(Array, 
// Object, Int32, Int32) method
using System;
  
class GFG {
  
    // Main Method
    static void Main()
    {
        int[] arr = {1, 5, 6, 2, 6, 8, 2};
  
        // search for "6"
        // search start from index 5 and
        // searches 2 indexes backward from index 5
        // at first index 4 is comes where the value is 6
        // so returns index 4
        int indx1 = Array.LastIndexOf(arr, 6, 5, 2);
          
        Console.WriteLine("First Index of 6 search from"+
                           " index 5 found at " + indx1);
  
        // search for "2"
        // search start from index 4 and
        // searches 2 indexes backward from index 4
        // at first index 3 is comes where the value is 2
        // so returns index 3
        int indx2 = Array.LastIndexOf(arr, 2, 4, 2);
          
        Console.WriteLine("First Index of 2 search from"+
                           " index 4 found at " + indx2);
    }
}
Producción:

First Index of 6 search from index 5 found at 4
First Index of 2 search from index 4 found at 3

Ejemplo 2:

// C# program to demonstrate the 
// Array.LastIndexOf(Array, Object,
// Int32, Int32) method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
  
        // creating a array of type Array
        Array arr = Array.CreateInstance(typeof(String), 8);
  
        // 0, 1, 2, 3, 4, 5, 6, 7 are the 
        // indexes of the elements
        arr.SetValue("java", 0);
        arr.SetValue("C#", 1);
        arr.SetValue("C++", 2);
        arr.SetValue("C", 3);
        arr.SetValue("C++", 4);
        arr.SetValue("C#", 5);
        arr.SetValue("Python", 6);
        arr.SetValue("Ruby", 7);
          
        String s1 = "C#";
  
        // search for "C#"
        // search start from index 6 and
        // searches 3 indexes backward from index 6
        // at first index 5 is comes where the value is "C#"
        // so returns index 5
        int index1 = Array.LastIndexOf(arr, s1, 6, 3);
          
        Console.WriteLine("First Index of C# search from"+
                           " index 6 found at " + index1);
  
        String s2 = "C++";
  
        // search for "C++"
        // search start from index 5 and
        // searches 3 indexes backward from index 5
        // at first index 4 is comes where the value is "C++"
        // so returns index 4
        int index2 = Array.LastIndexOf(arr, s2, 5, 3);
         
        Console.WriteLine("First Index of C++ search from"+
                            " index 5 found at " + index2);
    }
}
Producción:

First Index of C# search from index 6 found at 5
First Index of C++ search from index 5 found at 4

Referencia:

Publicación traducida automáticamente

Artículo escrito por SoumikMondal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *