Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Array.LastIndexOf (Método) (Array, Object, Int32)

Busca el objeto especificado y devuelve el índice de la última aparición en el intervalo de elementos de la matriz Array unidimensional que se extiende desde el primer elemento hasta el índice especificado.

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)

public static int LastIndexOf(
	Array array,
	Object value,
	int startIndex
)

Parámetros

array
Tipo: System.Array
Array unidimensional en la que se va a buscar.
value
Tipo: System.Object
Objeto que se va a buscar en array.
startIndex
Tipo: System.Int32
Índice inicial de la búsqueda hacia atrás.

Valor devuelto

Tipo: System.Int32
Índice de la última aparición de value en el intervalo de elementos de array que se extiende desde el primer elemento hasta startIndex, si se encuentra; en caso contrario, límite inferior de la matriz menos uno.

ExcepciónCondición
ArgumentNullException

array es null.

ArgumentOutOfRangeException

startIndex se encuentra fuera del intervalo de índices válidos para array.

RankException

array es multidimensional.

La búsqueda en la matriz Array unidimensional se realiza hacia atrás, comenzando en startIndex y terminando en el primer elemento.

Los elementos se comparan con el valor especificado, utilizando el método Object.Equals. Si el elemento es de tipo no intrínseco (definido por el usuario), se utiliza la implementación Equals de dicho tipo.

Como la mayoría de las matrices tienen un límite inferior igual a cero, este método normalmente devuelve -1 cuando no se encuentra value. En el caso excepcional de que el límite inferior de la matriz sea igual que Int32.MinValue y no se encuentre value, este método devuelve Int32.MaxValue, que es System.Int32.MinValue - 1.

Este método es una operación O(n), donde n es el número de elementos desde el principio de array hasta startIndex.

En .NET Framework versión 2.0, este método utiliza los métodos Equals y CompareTo de Array para determinar si el objeto Object especificado por el parámetro value existe. En las versiones anteriores de .NET Framework, esta determinación se realizó utilizando los métodos Equals y CompareTo del propio objeto Object de value.

En el siguiente código de ejemplo se muestra la forma de determinar el índice de la última aparición de un elemento especificado en una matriz.


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.
*/


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

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 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft