Comparteix a través de


Cómo: Asignar una matriz a otra (Visual Basic)

Dado que las matrices son objetos, puede usarlas en instrucciones de asignación como otros tipos de objetos. Una variable de matriz contiene un puntero a los datos que constituyen los elementos de la matriz y la información de clasificación y longitud, y una asignación copia solo este puntero.

Para asignar una matriz a otra

  1. Asegúrese de que las dos matrices tienen la misma clasificación (número de dimensiones) y tipos de datos de elementos compatibles.

  2. Use una instrucción de asignación estándar para asignar la matriz de origen a la matriz de destino. No siga ningún nombre de matriz con paréntesis.

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

Al asignar una matriz a otra, se aplican las reglas siguientes:

  • Clasificaciones iguales. La clasificación (número de dimensiones) de la matriz de destino debe ser la misma que la de la matriz de origen.

    Siempre que las clasificaciones de las dos matrices sean iguales, las dimensiones no necesitan ser iguales. El número de elementos de una dimensión determinada puede cambiar durante la asignación.

  • Tipos de elementos. Ambas matrices deben tener elementos de tipo de referencia o elementos de tipo de valor. Para obtener más información, consulta Value Types and Reference Types.

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

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

El compilador notifica un error si se infringen las reglas anteriores, por ejemplo, si los tipos de datos no son compatibles o las clasificaciones no son iguales. Puede agregar control de errores al código para asegurarse de que las matrices sean compatibles antes de intentar una asignación. También puede usar la palabra clave TryCast (Operador) si quiere evitar iniciar una excepción.

Vea también