更新:2007 年 11 月
在本课中,您将学习如何使用 For Each...Next 循环在集合中进行循环。
在前面的课程中,您学习了使用 For...Next 循环按指定次数执行一个代码块。Visual Basic 集合对象支持一种特殊类型的循环,即 For Each...Next 循环,该循环可用于针对集合中的每个元素执行代码块,而不是按设定的次数执行。
添加 For Each...Next 循环
在上一课中,您向 ComboBox 控件中手动添加了球队集合中的 Players 对象的 Position 属性值。虽然在示例中可以这样做,但这并不是最佳做法——每次添加新队员时还必须更新 ComboBox 控件的 Items 集合。
处理这件事的更好的做法是使用 For Each...Next 循环,在 team 集合中循环向 Items 集合中添加 Position 值。
在 For...Next 循环中,您必须先声明一个计数器变量;而在 For Each...Next 循环中必须先声明一个对象变量。下面的代码演示了一个 For Each...Next 循环。
Dim player As Persons.Players
For Each player In team
    ComboBox1.Items.Add(player.Position)
Next
在本例中,不管有多少 Players,都会为球队集合中的每个 Players 对象执行一次 ComboBox1.Items.Add 方法,并向列表中添加 Position 值。
试一试!
在集合中循环
- 打开上一课中的 Persons 项目。如果您没有完成该项目,请返回上一课 使用集合管理多个对象 完成相应的步骤。 
- 在“解决方案资源管理器”中,选择“PlayerTest”项目中的“Form1.vb”节点,然后从“视图”菜单中选择“设计器”。 
- 选择 ComboBox 控件。然后,在“属性”窗口中,选择 Items 属性并单击“…”按钮。 
- 在“字符串集合编辑器”中删除现有的四个条目,然后单击“确定”。 
- 双击该窗体以打开代码编辑器。 
- 在代码编辑器中,向声明部分中添加以下内容(添加到 team 声明的下方)。 - Dim player As Persons.Players For Each player In team ComboBox1.Items.Add(player.Position) Next
- 按 F5 运行程序。从下拉列表中选择一个位置。这一位置的队员将会显示在消息框中。 
后续步骤
在本课中,您在集合中使用了 For Each...Next 循环。在接下来的课程中,您将创建另一种类型的对象:用户控件。
下一课:可视对象:创建您的第一个用户控件
请参见
任务
参考
For Each...Next 语句 (Visual Basic)