- UiPath RPA开发:入门、实战与进阶
- 邵京京等
- 952字
- 2021-08-06 14:57:43
4.2.3 For Each
For Each用于循环遍历集合中每个元素。当我们需要对一个集合中每个元素值执行相同的操作时,就可用For Each活动。
For Each自动遍历集合中每个元素值,保存在如图4-56所示的in前的变量item中。然后,将要对遍历出的每个元素执行的相同操作写入Body循环体中。
需要留意的是item变量无须声明,其只在For Each内的活动中有效,并且item可以根据项目实际需要自定义名称,如Age、Name等。
接下来我们了解下For Each的属性面板。如图4-57所示,Type Argument就是循环元素item的变量类型,默认类型是Object,可根据实际情况更改变量类型。Values就是被循环的数组或集合,Index属性用于输出当前集合遍历时的索引值,可以建一个Int32类型的变量记录,索引值从0开始。
图4-56 For Each活动示意图
图4-57 For Each的属性说明
下面通过一个简单的案例来理解下For Each的用法。
【例4.7】打印一组员工的姓名。
1)进入Studio界面,点击Process创建一个流程,命名为4_7_ForEach,如图4-58所示。
2)进入Main,在活动面板中拖入一个For Each活动到主界面,如图4-59所示。
图4-58 新建流程
图4-59 拖入For Each活动
3)选中第2步生成的For Each活动,在Variables面板中新建一个String类型的数组变量,命名为NameArr,并将其初始值设置为“{"张三","李四","王五"}”,如图4-60所示。
图4-60 新建变量
4)选中第2步生成的For Each活动,查看其属性,然后将Type Argument更改为String,Values属性改为变量NameArr,item改为name,如图4-61所示。
图4-61 设置For Each属性值
5)在For Each活动Body内拖入一个Write Line,按图4-62所示更改其Text属性。
6)点击Run File执行程序,查看Output面板,参考结果如图4-63所示。
图4-62 拖入输出活动Write Line
图4-63 执行结果
大家已经学习了UiPath提供的主要循环结构活动While、Do While和For Each,那么在实际项目中我们该选择哪一种循环活动呢?有以下几点使用场景供大家参考:
□如果是有规律地遍历一个集合中的每个元素,执行相同的操作,首选For Each。
□如果没有规律的循环,未知循环多少次,但需要反复执行同一个操作,比如猜数字、等待某个控件出现,但是并不知道等多久,再比如一次按钮点击结果不稳定,需要多次尝试点击的,就首选While循环或Do While循环。
□如果希望条件不满足时,循环体一次都不执行,就选择While循环。
□如果希望即使条件不满足,循环体也至少能执行一次,就选择Do While循环。
注意
UiPath提供的For Each循环有两种,一种就是本章所学的用来遍历数组集合类型的For Each循环,另外一种是For Each Row,专门用于遍历DataTable,大家不要混淆了。关于For Each Row的用法本书会在第5章Excel自动化操作中详细解读。