La clase Array es la clase base para las implementaciones de lenguajes que admiten matrices. No obstante, el sistema y los compiladores son los únicos que se pueden derivar explícitamente de la clase Array. Los usuarios deben utilizar los constructores de matriz que proporciona el lenguaje.
Un elemento es un valor de Array. La longitud de Array es el número total de elementos que puede contener. El rango de Array es el número de dimensiones de Array. El límite inferior de una dimensión de Array es el índice inicial de dicha dimensión; Array multidimensional Arraypuede tener distintos límites para cada dimensión.
Importante: |
|---|
| En la versión 2.0 de .NET Framework, la clase Array implementa las interfaces genéricas System.Collections.Generic.IList, System.Collections.Generic.ICollection y System.Collections.Generic.IEnumerable. Las implementaciones se proporcionan a matrices en tiempo de ejecución y por consiguiente no son visibles para las herramientas de generación de documentación. Como consecuencia, las interfaces genéricas no aparecen en la sintaxis de declaración de la clase Array y no existen temas de referencia para los miembros de interfaz a los que sólo se puede obtener acceso convirtiendo una matriz en el tipo de interfaz genérica (implementaciones explícitas de interfaz). Al convertir una matriz en una de esas interfaces, lo principal que se debe tener en cuenta es que los miembros que agregan, insertan o quitan elementos inician una excepción NotSupportedException. |
Los objetos Type proporcionan información sobre las declaraciones de tipo de matriz. Los objetos Array con el mismo tipo de matriz comparten el mismo objeto Type.
Es posible que Type.IsArray y Type.GetElementType no devuelvan el resultado esperado con Array, porque si una matriz se convierte en el tipo Array, el resultado es un objeto y no una matriz. Es decir, typeof(System.Array).IsArray devuelve false y typeof(System.Array).GetElementType devuelve referencia de objeto null (Nothing en Visual Basic).
A diferencia de la mayoría de las clases, Array proporciona el método CreateInstance en lugar de constructores públicos, para permitir el acceso en tiempo de ejecución.
El método Array.Copy copia elementos no sólo entre matrices del mismo tipo, sino también entre matrices estándar de tipos distintos, ya que controla la conversión de tipos de forma automática.
Algunos métodos, como CreateInstance, Copy, CopyTo, GetValue y SetValue, proporcionan sobrecargas que aceptan enteros de 64 bits como parámetros para alojar matrices de gran capacidad. LongLength y GetLongLength devuelven enteros de 64 bits que indican la longitud de la matriz.
No se garantiza que la matriz Array esté ordenada. Debe ordenar la matriz Array antes de realizar operaciones (como BinarySearch) que requieran que la matriz Array esté ordenada.