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 (Array, Int32, Int32, Object)

 

Busca un valor en un intervalo de elementos de una matriz unidimensional y ordenada, usando la interfaz IComparable implementada por cada elemento de la matriz y por el valor especificado.

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

public static int BinarySearch(
	Array array,
	int index,
	int length,
	object value
)

Parámetros

array
Type: System.Array

Matriz Array 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: System.Object

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.

Exception Condition
ArgumentNullException

El valor de array es null.

RankException

array es multidimensional.

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

value no implementa la interfaz IComparable y la búsqueda encuentra un elemento que no implementa la interfaz IComparable.

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

If the T:System.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 one greater than the upper bound 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.

Either value or every element of array must implement the T:System.IComparable 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 T:System.IComparable implementation; otherwise, the result might be incorrect.

System_CAPS_noteNota

If value does not implement the T:System.IComparable interface, the elements of array are not tested for T:System.IComparable before the search begins. An exception is thrown if the search encounters an element that does not implement T:System.IComparable.

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 implementation, even if value is null. That is, the T:System.IComparable 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 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Windows Phone Silverlight
Disponible desde 8.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: