Buongiorno ho una list con dei numeri, i numeri dentro la list si possono ripetere uguali anche più volte.
Praticamente devofare sei sorteggi di numero random ad ogni sorteggio di numero devo levare dalla mia lista il numero sorteggiato anche se c' è più volte.
e quindi al secondo giro il primo numero sorteggiato non ci deve essere mai.
In vb.net facevo così
B4X:
NuovaLista.RemoveAll(Function(r) r.ToString = 44)
per sempio toglievo dalla lista tutti i numero che erano il 44. è molto comodo.
Se non esiste una funzione simile mi pare che devo girare la list finche non li tolgo tutti ma ad ogni giro cambia l' indice degli items perchè si riduce di uno.
Se ti serve una lista dalla quale pescare un numero alla volta, sarebbe meglio usare un metodo diverso, che eventualmente ti spiegherò o allegherò un esempio, che si fa pure prima.
Per rimuovere un solo elemento in base al suo valore:
Dim Valore As Int = 44
List1.RemoveAt(List1.IndexOf(Valore))
Per rimuoverli tutti (tutti quelli che contengono Valore), dovrai usare un Loop ("Do While" o "Do Until"), fino a che Index Of ti restituisca -1 (non trovato).
'converto in stringa il numero estratto
Dim nnn As String =numeroestratto
For t =listaPassata2.Size-1 To 0 Step-1
If listaPassata2.get(t) = nnn Then
listaPassata2.RemoveAt((t))
Log ("tolto " & nnn)
End If
Next 'listaPassata2.RemoveAt((value))
'converto in stringa il numero estratto
Dim nnn As String =numeroestratto
For t =listaPassata2.Size-1 To 0 Step-1
If listaPassata2.get(t) = nnn Then
listaPassata2.RemoveAt((t))
Log ("tolto " & nnn)
End If
Next 'listaPassata2.RemoveAt((value))