Condividi tramite


Matrici irregolari in Visual Basic

Aggiornamento: novembre 2007

Una matrice in cui ciascun elemento è esso stesso una matrice è denominata matrice di matrici o matrice irregolare. Tenere presente che una matrice contenente matrici come elementi è diversa da una matrice multidimensionale, in cui sono presenti più indici per una singola matrice.

Significato di irregolarità

In alcuni casi, i dati nell'applicazione hanno una struttura bidimensionale ma non rettangolare. È possibile, ad esempio, che sia presente una matrice di mesi, in cui ogni elemento della matrice è costituito da una matrice di giorni. Poiché il numero di giorni varia a seconda del mese, gli elementi non costituiscono una matrice bidimensionale rettangolare. In tal caso, è possibile utilizzare una matrice irregolare anziché una matrice multidimensionale.

Esempio

Nell'esempio riportato di seguito viene dichiarata una variabile di matrice contenente una matrice di matrici con elementi di Tipo di dati Double (Visual Basic). Ciascun elemento della matrice sales è esso stesso una matrice che rappresenta un mese. Ciascuna matrice di mesi contiene i valori relativi a ciascun giorno del mese.

Dim sales()() As Double = New Double(11)() {}
Dim month As Integer
Dim days As Integer
For month = 0 To 11 
    days = DateTime.DaysInMonth(Year(Now), month + 1)
    sales(month) = New Double(days - 1) {}
Next month

La clausola New nella dichiarazione di sales imposta la variabile di matrice su una matrice con 12 elementi, ognuno dei quali è di tipo Double(), ossia è una matrice di elementi Double. Il ciclo For consente quindi di determinare il numero dei giorni presenti in ogni mese dell'anno corrente (Year(Now)) e di impostare l'elemento corrispondente di sales su una matrice Double della dimensione appropriata.

Nell'esempio precedente l'utilizzo della matrice irregolare consente di usare sette elementi in meno (sei in un anno bisestile) rispetto a una matrice bidimensionale. In casi più estremi è possibile che il risparmio di memoria risulti significativo.

Vedere anche

Attività

Procedura: dichiarare una variabile di matrice

Procedura: creare una matrice di matrici

Procedura: inizializzare una matrice irregolare

Risoluzione dei problemi relativi alle matrici

Concetti

Cenni preliminari sulle matrici in Visual Basic

Dimensioni di matrice in Visual Basic

Matrici multidimensionali in Visual Basic

Tipi di dati delle matrici in Visual Basic

Scrittura di codice compatibile con CLS

Altre risorse

Matrici in Visual Basic