Condividi tramite


Procedura: creare una matrice con diversi tipi di elemento

Aggiornamento: novembre 2007

Per una matrice, in genere, viene dichiarato un unico tipo di dati e tutti gli elementi della matrice devono essere del tipo di dati specificato. Questa limitazione è di solito accettabile, poiché tutti gli elementi sono strettamente correlati tra loro e hanno tipi di valori simili. In alcuni casi, tuttavia, gli elementi non sono strettamente correlati o non hanno valori simili. In questo caso, è possibile dichiarare gli elementi della matrice di Tipo di dati Object e i singoli elementi possono puntare a tipi di dati differenti, ad esempio numeri, caratteri, stringhe, oggetti e altre matrici.

Per creare una matrice con elementi di tipi di dati differenti

  • Dichiarare la matrice come Object. Nell'esempio riportato di seguito viene dichiarata una variabile che deve contenere una matrice di elementi Object, viene creata la matrice, infine viene assegnata tale matrice alla variabile.

    Dim mixedTypes As Object() = New Object() {}
    

    Quando si utilizza il tipo di dati Object, tenere presente che le prestazioni risulteranno inferiori rispetto all'utilizzo di un tipo di dati più specifico, poiché in fase di esecuzione sarà necessario eseguire la conversione dei dati tra il tipo di dati naturale e il tipo Object (conversione boxing e conversione unboxing). Se eseguite spesso, queste operazioni aggiuntive possono influire negativamente sulle prestazioni.

Per accedere a elementi di tipi di dati differenti in una matrice

  • Leggere o scrivere normalmente gli elementi. In una matrice Object è possibile archiviare e recuperare elementi di un tipo di dati qualsiasi.

    Nell'esempio riportato di seguito viene illustrato come inserire informazioni di tipi di dati differenti in una matrice Object. Le informazioni sui dipendenti nella matrice vengono archiviate nella variabile employeeData.

    Dim employeeData(3) As Object
    employeeData(0) = "Alex Hankin"
    employeeData(1) = "4242 Maple Street"
    employeeData(2) = 48
    employeeData(3) = #8/23/1956#
    

    Per recuperare informazioni di tipi di dati differenti da una matrice Object, è possibile convertire un elemento nel tipo di dati appropriato, come illustrato nel seguente esempio.

    Dim age As Integer = CInt(employeeData(2))
    Dim birthDate as Date = CDate(employeeData(3))
    

Se gli elementi non sono simili né correlati tra loro, è anche possibile inserirli in un insieme anziché in una matrice Object. Per ulteriori informazioni, vedere Insiemi come alternativa alle matrici.

Vedere anche

Attività

Procedura: dichiarare una variabile di matrice

Procedura: creare una matrice

Procedura: creare una matrice con più dimensioni

Procedura: creare una matrice di matrici

Procedura: creare una matrice senza elementi

Procedura: inizializzare una variabile di matrice

Risoluzione dei problemi relativi alle matrici

Concetti

Cenni preliminari sulle matrici in Visual Basic

Insiemi come alternativa alle matrici

Altre risorse

Matrici in Visual Basic