Eliminare più elementi da un array
Vai alla navigazione
Vai alla ricerca
Per eliminare più elementi da un vettore, ad esempio sulla base dei valori in ciascuno di essi contenuti, si utilizzarà un ciclo con il Metodo ".Remove( )" dell'oggetto vettore, avendo cura nel codice della ovvia riduzione della quantità corrente degli elementi nell'array, al fine di non incorrere in un errore di "Out of Bounds".
Mostriamo un esempio pratico, nel quale saranno eliminati solo gli elementi contenenti numeri dispari:
Public Sub Main()
Dim numeri As Byte[] = [1, 7, 2, 34, 8, 7, 2, 5, 14, 22, 92, 48, 76, 15, 7, 1, 3]
Dim b As Byte
EliminaDispari(numeri) ' Essendo un array, il passaggio dell'argomento può avvenire per Indirizzo
For Each b In numeri
Print b
Next
End
Private Function EliminaDispari(lista As Byte[]) ' Riceve il parametro per Indirizzo
Dim x As Byte
While x < lista.Count
If lista[x] Mod 2 > 0 Then
lista.Remove(x)
Continue
Endif
Inc x
Wend
End
In questo esempio, in cui si desidera eliminare gli elementi con valore zero, si adotterà un'altra modalità:
Public Sub Main()
Dim bb As Byte[]
Dim b As Byte
Dim i As Integer
bb = [0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 9, 0]
While i < bb.Count
If bb[i] == 0 Then
bb.Remove(bb.Find(0), 1)
i = -1
Endif
Inc i
Wend
For Each b In bb
Print b
Next
End