Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Array.IndexOf<T>(T[], T, Int32, Int32)

 

Publicado: octubre de 2016

Busca el objeto especificado en un intervalo de elementos de la matriz unidimensional y devuelve el índice de su primera aparición. El intervalo se extiende desde un índice especificado durante un número especificado de elementos.

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

public static int IndexOf<T>(
	T[] array,
	T value,
	int startIndex,
	int count
)

Parámetros

array
Type: T[]

Matriz unidimensional de base cero en la que se va a buscar.

value
Type: T

Objeto que se va a buscar en array.

startIndex
Type: System.Int32

Índice inicial de base cero de la búsqueda. 0 (cero) es válido en una matriz vacía.

count
Type: System.Int32

Número de elementos de la sección en la que se va a realizar la búsqueda.

Valor devuelto

Type: System.Int32

Índice de base cero de la primera aparición de value dentro del intervalo de elementos de array que comienza en startIndex y contiene el número de elementos especificados en count, si se encuentra; de lo contrario, –1.

Parámetros de tipo

T

Tipo de los elementos de la matriz.

Exception Condition
ArgumentNullException

El valor de array es null.

ArgumentOutOfRangeException

startIndex está fuera del intervalo de índices válidos para la array.

-o-

count es menor que cero.

-o-

startIndex y count no especifican una sección válida en array.

Los elementos de búsquedasLos de este método de una matriz unidimensional de startIndex a startIndex más count menos 1, si count es mayor que 0. Para determinar si value existe en array, el método realiza una comparación de igualdad mediante una llamada a la T.Equals método en cada elemento. Esto significa que si T invalida el Equals se llama al método, que la invalidación.

Si startIndex es igual a Array.Length, el método devuelve -1. Si startIndex es mayor que Array.Length, el método produce una ArgumentOutOfRangeException.

Este método es una O (n) operación, donde n es count.

En el ejemplo siguiente se muestra las tres sobrecargas genéricas de la IndexOf método. Se crea una matriz de cadenas, con una entrada que aparece dos veces, en la ubicación de índice 0 y la ubicación de índice 5. El IndexOf<T>(T[], T) sobrecarga del método busca en la matriz desde el principio y busca la primera aparición de la cadena. El IndexOf<T>(T[], T, Int32) sobrecarga del método se usa para buscar en la matriz comenzando en la posición de índice 3 y continuando hasta el final de la matriz y encuentra la segunda aparición de la cadena. Por último, el IndexOf<T>(T[], T, Int32, Int32)sobrecarga del método se usa para buscar en un intervalo de dos entradas, comenzando en la posición de índice dos; devuelve -1 porque no hay ninguna instancia de la cadena de búsqueda en ese intervalo.

using System;

public class Example
{
    public static void Main()
    {
        string[] dinosaurs = { "Tyrannosaurus",
            "Amargasaurus",
            "Mamenchisaurus",
            "Brachiosaurus",
            "Deinonychus",
            "Tyrannosaurus",
            "Compsognathus" };

        Console.WriteLine();
        foreach(string dinosaur in dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }

        Console.WriteLine(
            "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\"): {0}", 
            Array.IndexOf(dinosaurs, "Tyrannosaurus"));

        Console.WriteLine(
            "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 3): {0}", 
            Array.IndexOf(dinosaurs, "Tyrannosaurus", 3));

        Console.WriteLine(
            "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 2, 2): {0}", 
            Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2));
    }
}

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0

Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5

Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1
 */

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 2.0
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: