BinarySearch(T) Método (T[], Int32, Int32, T)
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

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

 

Busca un valor en un intervalo de elementos de una matriz unidimensional y ordenada, utilizando la interfaz genérica IComparable<T> implementada por cada elemento de la Array y por el valor especificado.

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

public static int BinarySearch<T>(
	T[] array,
	int index,
	int length,
	T value
)

Parámetros

array

Matriz Array de base cero, unidimensional y ordenada en la que se va a buscar.

index

Índice inicial del intervalo en el que se va a buscar.

length

Longitud del intervalo en el que se va a buscar.

value

Objeto que se va a buscar.

Valor devuelto

Type: System.Int32

Índice del objeto value especificado en la matriz array especificada, si se encuentra el objeto value.Si no se encuentra value y value es menor que uno o varios elementos de array, un número negativo que es el complemento bit a bit del índice del primer elemento que sea mayor que value.Si no se encuentra value y value es mayor que cualquiera de los elementos de array, un número negativo que es el complemento bit a bit del índice del último elemento más uno.

Parámetros de tipo

T

Tipo de los elementos de la matriz.

Exception Condition
ArgumentNullException

El valor de array es null.

ArgumentOutOfRangeException

index es menor que el límite inferior de array.

-o-

length es menor que cero.

ArgumentException

index y length no especifican un intervalo válido de array.

-o-

value es de un tipo que no es compatible con los elementos de array.

InvalidOperationException

T no implementa la interfaz genérica IComparable<T>.

Este método no admite buscar en matrices con índices negativos. arrayse debe ordenar antes de llamar a este método.

Si la matriz no contiene el valor especificado, el método devuelve un entero negativo.Puede aplicar el operador de complemento bit a bit (~ en C#, Not en Visual Basic) al resultado negativo para generar un índice.Si este índice es igual al tamaño de la matriz, no hay ningún elemento mayor que value en la matriz.De lo contrario, es el índice del primer elemento mayor que value.

Tdebe implementar la IComparable<T> interfaz genérica, que se utiliza para las comparaciones.Los elementos de array ya deben estar ordenados de forma ascendente según el criterio de ordenación definido por el IComparable<T> implementación; de lo contrario, es posible que el resultado sea incorrecto.

Se permiten elementos duplicados.Si el Array contiene más de un elemento igual a value, el método devuelve el índice de sólo una de las apariciones, no necesariamente la primera.

nullsiempre puede compararse con cualquier otro tipo de referencia; por lo tanto, las comparaciones con null no generan una excepción.

System_CAPS_noteNota

Para cada elemento probado, value se pasa a la correspondiente IComparable<T> implementación, incluso si value es null.Es decir, el IComparable<T> implementación determina cómo se compara un elemento especificado a null.

Este método es un O(log n) operación, donde n es length.

Universal Windows Platform
Disponible desde 4.5
.NET Framework
Disponible desde 2.0
Portable Class Library
Compatible con: portable .NET platforms
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar:
© 2016 Microsoft