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

 

Busca un valor en un intervalo de elementos de una matriz unidimensional y ordenada, usando la interfaz genérica IComparable<T> que implementan cada elemento de Array y 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
Type: T[]

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

index
Type: System.Int32

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

length
Type: System.Int32

Longitud del intervalo en el que se va a buscar.

value
Type: T

Objeto que se va a buscar.

Valor devuelto

Type: System.Int32

Índice del elemento value especificado en el objeto array especificado, si se encuentra value; en caso contrario, un número negativo. Si no se encuentra value y value es menor que uno o varios elementos de array, el número negativo devuelto 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, el número negativo devuelto es el complemento bit a bit del índice del último elemento más 1. Si se llama a este método con un objeto array sin clasificar, el valor devuelto puede ser incorrecto y podría devolverse un número negativo, aunque value esté presente en array.

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 en 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>.

This method does not support searching arrays that contain negative indexes. array must be sorted before calling this method.

If the array does not contain the specified value, the method returns a negative integer. You can apply the bitwise complement operator (~ in C#, Not in Visual Basic) to the negative result to produce an index. If this index is equal to the size of the array, there are no elements larger than value in the array. Otherwise, it is the index of the first element that is larger than value.

T must implement the IComparable<T> generic interface, which is used for comparisons. The elements of array must already be sorted in increasing value according to the sort order defined by the IComparable<T> implementation; otherwise, the result might be incorrect.

Duplicate elements are allowed. If the T:System.Array contains more than one element equal to value, the method returns the index of only one of the occurrences, and not necessarily the first one.

null can always be compared with any other reference type; therefore, comparisons with null do not generate an exception.

System_CAPS_noteNota

For every element tested, value is passed to the appropriate T:System.IComparable`1 implementation, even if value is null. That is, the T:System.IComparable`1 implementation determines how a given element compares to null.

This method is an O(log n) operation, where n is length.

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: