Se ho capito, vorrebbe usare un array di 3 elementi con il primo elemento in posizione 3, il secondo in posizione 40 e il terzo in posizione 100, ma senza nessun elemento in mezzo a loro. Poi aggiungere nuovi elementi tra di loro nelle posizioni libere. Ho capito bene?
Se fosse così, è come se uno volesse costruire una casa costituita dai soli piani 3°, 40° e 100°
senza costruire gli altri piani che naturalmente dovrebbero trovarsi fra quei tre piani !
Ecco, gli elementi di un vettore (
array), identificati da un indice, sono esattamente come i piani di una casa: se esiste il 40° piano vuol dire che ne esistono altri 39 prima !
Altro discorso è assegnare un valore diverso da zero o da
Null a questo anziché a quest'altro elemento.
Si consideri anche che, quando si procede all'eliminazione di un elemento, non resta un
vuoto, ma l'elemento che lo segue, prende all'interno dell'indice del vettore il posto dell'elemento eliminato. Esempio:
Public Sub Main()
Dim bb As Byte[] = [10, 11, 12, 13, 14, 15, 16]
Print bb.Count, bb[3]
' Eliminiamo l'elemento di indice 3, ossia il 4° elemento:
bb.Remove(3, 1)
Print bb.Count, bb[3]
End
Provate, insomma, a lanciare questo semplice codice:
Public Sub Main()
Dim bb As Byte[] = [10, 11,, 13,, 15, 16]
End