Compartir a través de


Cómo: Asignar una matriz a otra

Actualización: noviembre 2007

Puesto que las matrices son objetos, puede utilizarlas en instrucciones de asignación como cualquier otro tipo de objeto. Una variable de matriz contiene un puntero a los datos que constituyen los elementos de matriz, y a la información de rango y longitud; una asignación copia sólo este puntero.

Para asignar una matriz a otra

  1. Asegúrese de que las dos matrices tienen el mismo rango (número de dimensiones) y tipos de datos de elementos compatibles.

  2. Utilice una instrucción de asignación estándar para asignar la matriz de origen a la matriz de destino. No agregue paréntesis detrás del nombre de las matrices.

    Dim formArray() As System.Windows.Forms.Form
    Dim controlArray() As System.Windows.Forms.Control
    controlArray = formArray
    

En la asignación de una matriz a otra, se aplican las siguientes reglas:

  • Rangos iguales. El rango (número de dimensiones) de la matriz de destino debe coincidir con el de la matriz de origen.

    Siempre que los rangos de las dos matrices sean iguales, no es necesario que las dimensiones sean iguales. El número de elementos de una dimensión dada puede cambiar durante la asignación.

  • Tipos de elementos. Ambas matrices deben tener elementos de tipo de referencia o bien ambas matrices deben tener elementos de tipo de valor. Para obtener más información, consulte Tipos de valores y tipos de referencia.

    • Si ambas matrices tienen elementos de tipo valor, los tipos de datos deben coincidir exactamente. La única excepción a esto es que puede asignar una matriz de elementos Enum a una matriz del tipo base de esta Enum.

    • Si ambas matrices tienen elementos de tipo de referencia, el tipo de elemento de origen debe derivar del tipo de elemento de destino. Cuando éste es el caso, las dos matrices tienen la misma relación de herencia que sus elementos. Esto se denomina covarianza de matriz.

El compilador notifica un error si las reglas anteriores no se cumplen, por ejemplo, si los tipos de datos no son compatibles o si los rangos no son iguales. Se puede incluir control de errores en el código para comprobar si las matrices son compatibles antes de intentar realizar la asignación. También puede utilizar la palabra clave TryCast si desea evitar que se produzca una excepción.

Vea también

Tareas

Cómo: Declarar una variable de matriz

Cómo: Crear una matriz

Cómo: Inicializar una variable de matriz

Cómo: Cambiar el tamaño de una matriz

Cómo: Cambiar una matriz por otra distinta

Cómo: Pasar una matriz a un procedimiento o una propiedad

Cómo: Devolver una matriz desde un procedimiento o una propiedad

Solucionar problemas de matrices

Conceptos

Conversiones de matrices

Referencia

Instrucción Enum (Visual Basic)

Otros recursos

Matrices en Visual Basic