Eliminare più elementi da un array

Da Gambas-it.org - Wikipedia.
Versione del 13 apr 2017 alle 15:57 di Vuott (Discussione | contributi) (Creata pagina con "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...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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)
  
  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