Informazioni dettagliate: utilizzo di un ciclo For Each...Next in un insieme
Aggiornamento: novembre 2007
In questa lezione verrà descritto come utilizzare un ciclo For Each...Next in un insieme.
In una lezione precedente è stato descritto come utilizzare un ciclo For...Next per eseguire un blocco di codice per un numero specificato di volte. Gli oggetti Collection di Visual Basic supportano un tipo speciale di ciclo, For Each...Next, che può essere utilizzato per eseguire un blocco di codice per ogni elemento dell'insieme anziché un numero specificato di volte.
Aggiunta di un ciclo For Each...Next
Nella lezione precedente i valori della proprietà Position degli oggetti Players facenti parte dell'insieme della squadra stati aggiunti al controllo ComboBox manualmente. Nonostante per questo esempio sia stato possibile eseguire l'operazione manualmente, questa non è la procedura ideale perché a ogni aggiunta di un nuovo giocatore sarà necessario anche aggiornare l'insieme Items del controllo ComboBox.
Una soluzione migliore consiste nell'aggiungere i valori di Position all'insieme Items tramite l'esecuzione di un ciclo For Each...Next sull'insieme team.
In un ciclo For...Next è in primo luogo necessario dichiarare una variabile contatore, mentre per un ciclo For Each...Next è in primo luogo necessario dichiarare una variabile oggetto. Nel codice riportato di seguito viene illustrato un ciclo For Each...Next.
Dim player As Persons.Players
For Each player In team
ComboBox1.Items.Add(player.Position)
Next
In questo caso, indipendentemente dal numero di oggetti Players, il metodo ComboBox1.Items.Add viene eseguito una sola volta per ogni oggetto Players dell'insieme team e il valore di Position viene aggiunto all'elenco.
Procedura
Per eseguire un ciclo in un insieme
Aprire il progetto Persons creato nella lezione precedente. Se questo progetto non è stato completato, tornare alla lezione precedente Utilizzo degli insiemi per gestire più oggetti ed eseguire le procedure indicate.
In Esplora soluzioni selezionare il nodo Form1.vb nel progetto PlayerTest, quindi scegliere Finestra di progettazione dal menu Visualizza.
Selezionare il controllo ComboBox. Nella finestra Proprietà selezionare la proprietà Items e scegliere il pulsante con i puntini di sospensione (…).
Nell'editor dell'insieme String eliminare le quattro voci esistenti, quindi scegliere OK.
Fare doppio clic sul form per aprire l'editor di codice.
Nell'editor di codice aggiungere quanto riportato di seguito nella sezione delle dichiarazioni (sotto la dichiarazione di team).
Dim player As Persons.Players For Each player In team ComboBox1.Items.Add(player.Position) Next
Premere F5 per eseguire il programma. Selezionare una posizione dall'elenco a discesa. Il giocatore assegnato a tale posizione verrà visualizzato in una finestra di messaggio.
Passaggi successivi
In questa lezione è stato utilizzato un ciclo For Each...Next in un insieme. Nelle lezioni successive verrà creato un altro tipo di oggetto, ovvero un controllo utente.
Lezione successiva: Oggetti visibili: creazione di un controllo utente
Vedere anche
Attività
Utilizzo degli insiemi per gestire più oggetti
Riferimenti
Istruzione For Each...Next (Visual Basic)