Condividi tramite


Procedura: Assegnare una matrice a un'altra matrice (Visual Basic)

Poiché le matrici sono oggetti, è possibile usarle in istruzioni di assegnazione come altri tipi di oggetto. Una variabile di matrice contiene un puntatore ai dati che costituiscono gli elementi della matrice e le informazioni di rango e lunghezza e un'assegnazione copia solo questo puntatore.

Per assegnare una matrice a un'altra matrice

  1. Assicurarsi che le due matrici abbiano lo stesso rango (numero di dimensioni) e i tipi di dati degli elementi compatibili.

  2. Usare un'istruzione di assegnazione standard per assegnare la matrice di origine alla matrice di destinazione. Non seguire né il nome della matrice con parentesi.

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

Quando si assegna una matrice a un'altra, si applicano le regole seguenti:

  • Classifica uguale. Il rango (numero di dimensioni) della matrice di destinazione deve essere uguale a quello della matrice di origine.

    Se i ranghi delle due matrici sono uguali, le dimensioni non devono essere uguali. Il numero di elementi in una determinata dimensione può cambiare durante l'assegnazione.

  • Tipi di elemento. Entrambe le matrici devono avere elementi di tipo riferimento o entrambe le matrici devono avere elementi di tipo valore . Per altre informazioni, vedere Tipi valore e tipi di riferimento.

    • Se entrambe le matrici hanno elementi di tipo valore, i tipi di dati dell'elemento devono essere esattamente uguali. L'unica eccezione è che è possibile assegnare una matrice di Enum elementi a una matrice del tipo di base di tale Enumoggetto .

    • Se entrambe le matrici hanno elementi di tipo riferimento, il tipo di elemento di origine deve derivare dal tipo di elemento di destinazione. In questo caso, le due matrici hanno la stessa relazione di ereditarietà degli elementi. Questa operazione è detta covarianza della matrice.

Il compilatore segnala un errore se le regole precedenti vengono violate, ad esempio se i tipi di dati non sono compatibili o le classificazioni non sono uguali. È possibile aggiungere la gestione degli errori al codice per assicurarsi che le matrici siano compatibili prima di tentare un'assegnazione. È anche possibile usare la parola chiave TryCast Operator se si vuole evitare di generare un'eccezione.

Vedere anche