Array dinamici – creazione e riempimento

Da Gambas-it.org - Wikipedia.

Esporremo qui il caso in cui l'array non è dimensionato a priori, ma lo sia successivamente in modo esplicito o in modo dinamico.


Array senza alcun dimensionamento

Public Sub Button1_Click()

Dim nu As Byte
Dim multdimArr As New Byte[]   ' dichiara l'array, ma senza dimensionarlo
 
   For nu = 0 To 37
      multdimArr.Add(nu)
   Next

' verifica:
   For nu = 0 To 37
      Print multdimArr[nu]
   Next
   
End

o anche:

Public Sub Button1_Click()

 Dim nu As Byte
 Dim multdimArr As Byte[]   ' dichiara l'array, ma senza dimensionarlo

   For nu = 0 To 37
     multdimArr = New Byte[nu]
     multdimArr.Add(nu)
   Next


   For nu = 0 To 37
      Print multdimArr[nu]
   Next

End


Array con dimensionamento successivo

' Gambas class file


Public Sub Button1_Click()

 Dim ind1 As Integer = 38
 Dim nu As Integer
 Dim multdimArr As Integer[]   ' dichiara l'array, ma senza dimensionarlo

' dimensiona "ora" l'array:
   multdimArr = New Integer[ind1]

   For nu = 0 To multdimArr.Max
'  riempie ogni elemento dell'array:
     multdimArr[nu] = nu
     Print multdimArr[nu]
   Next
	   
End


Esempio con un array multidimensionale:

Public Sub Button1_Click()

 Dim multdimArr As Integer[]
 Dim indR, ind2 As Integer = 34
 Dim nuR, nu As Integer


  multdimArr = New Integer[ind1, ind2]

  For nuR = 0 to ind1 - 1
    For nu = 0 To ind2 - 1
      multdimArr[nuR, nu] = nu
      Print multdimArr[nuR, nu]
    Next
  Next

End