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.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 de tipo

T

Tipo de los elementos de la matriz.

Parámetros

array
Tipo: T[]
Matriz Array de base cero, unidimensional y ordenada en la que se va a buscar.
index
Tipo: System.Int32
Índice inicial del intervalo en el que se va a buscar.
length
Tipo: System.Int32
Longitud del intervalo en el que se va a buscar.
value
Tipo: T
Objeto que se va a buscar.

Valor devuelto

Tipo: 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.

ExcepciónCondición
ArgumentNullException

array es null.

ArgumentOutOfRangeException

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

O bien

length es menor que cero.

ArgumentException

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

O bien

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 permite buscar en matrices con índices negativos. Antes de llamar a este método, se debe ordenar array.

Si la matriz no contiene el valor especificado, el método devuelve un entero negativo. Puede aplicar el operador bit a bit de complemento (~ en C#, Not en Visual Basic) al resultado negativo para mostrar un índice. Si este índice es igual al tamaño de la matriz, no hay elementos mayores que value en la matriz. En caso contrario, el índice corresponde al primer elemento que es mayor que value.

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

Se permiten elementos duplicados. Si Array contiene varios elementos iguales a value, el método solo devuelve el índice de una de las apariciones, no necesariamente la primera.

null se puede comparar siempre con cualquier otro tipo de referencia, por lo tanto, las comparaciones con null no generan excepciones.

NotaNota

   Para cada elemento probado, se pasa value a la implementación de IComparable<T> adecuada, aún cuando value sea null. Es decir, la implementación de IComparable<T> determina cómo se compara un elemento especificado con null.

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

.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.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