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 su classificazione e lunghezza, e un'assegnazione copia solo questo puntatore.

Per assegnare una matrice a un'altra matrice

  1. Assicurarsi che le due matrici abbiano la stessa classificazione (numero di dimensioni) e tipi di dati di elementi compatibili.

  2. Usare un'istruzione di assegnazione standard per assegnare la matrice di origine alla matrice di destinazione. Non far seguire il nome della matrice da 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 matrice, si applicano le regole seguenti:

  • Classificazioni uguali. La classificazione (numero di dimensioni) della matrice di destinazione deve essere uguale a quella della matrice di origine.

    Se le classificazioni delle due matrici sono uguali, non è necessario che le dimensioni siano uguali. Il numero di elementi in una determinata dimensione può cambiare durante l'assegnazione.

  • Tipi di elementi. Entrambe le matrici devono avere elementi di tipo riferimento o entrambe le matrici devono avere elementi di tipo valore. Per altre informazioni, vedere Value Types and Reference Types.

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

    • 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à dei relativi elementi. Questo comportamento è detto 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 che venga generata un'eccezione.

Vedi anche