官术网_书友最值得收藏!

4.2.3 For Each

For Each用于循環(huán)遍歷集合中每個元素。當(dāng)我們需要對一個集合中每個元素值執(zhí)行相同的操作時,就可用For Each活動。

For Each自動遍歷集合中每個元素值,保存在如圖4-56所示的in前的變量item中。然后,將要對遍歷出的每個元素執(zhí)行的相同操作寫入Body循環(huán)體中。

需要留意的是item變量無須聲明,其只在For Each內(nèi)的活動中有效,并且item可以根據(jù)項(xiàng)目實(shí)際需要自定義名稱,如Age、Name等。

接下來我們了解下For Each的屬性面板。如圖4-57所示,Type Argument就是循環(huán)元素item的變量類型,默認(rèn)類型是Object,可根據(jù)實(shí)際情況更改變量類型。Values就是被循環(huán)的數(shù)組或集合,Index屬性用于輸出當(dāng)前集合遍歷時的索引值,可以建一個Int32類型的變量記錄,索引值從0開始。

圖4-56 For Each活動示意圖

圖4-57 For Each的屬性說明

下面通過一個簡單的案例來理解下For Each的用法。

【例4.7】打印一組員工的姓名。

1)進(jìn)入Studio界面,點(diǎn)擊Process創(chuàng)建一個流程,命名為4_7_ForEach,如圖4-58所示。

2)進(jìn)入Main,在活動面板中拖入一個For Each活動到主界面,如圖4-59所示。

圖4-58 新建流程

圖4-59 拖入For Each活動

3)選中第2步生成的For Each活動,在Variables面板中新建一個String類型的數(shù)組變量,命名為NameArr,并將其初始值設(shè)置為“{"張三","李四","王五"}”,如圖4-60所示。

圖4-60 新建變量

4)選中第2步生成的For Each活動,查看其屬性,然后將Type Argument更改為String,Values屬性改為變量NameArr,item改為name,如圖4-61所示。

圖4-61 設(shè)置For Each屬性值

5)在For Each活動Body內(nèi)拖入一個Write Line,按圖4-62所示更改其Text屬性。

6)點(diǎn)擊Run File執(zhí)行程序,查看Output面板,參考結(jié)果如圖4-63所示。

圖4-62 拖入輸出活動Write Line

圖4-63 執(zhí)行結(jié)果

大家已經(jīng)學(xué)習(xí)了UiPath提供的主要循環(huán)結(jié)構(gòu)活動While、Do While和For Each,那么在實(shí)際項(xiàng)目中我們該選擇哪一種循環(huán)活動呢?有以下幾點(diǎn)使用場景供大家參考:

□如果是有規(guī)律地遍歷一個集合中的每個元素,執(zhí)行相同的操作,首選For Each。

□如果沒有規(guī)律的循環(huán),未知循環(huán)多少次,但需要反復(fù)執(zhí)行同一個操作,比如猜數(shù)字、等待某個控件出現(xiàn),但是并不知道等多久,再比如一次按鈕點(diǎn)擊結(jié)果不穩(wěn)定,需要多次嘗試點(diǎn)擊的,就首選While循環(huán)或Do While循環(huán)。

□如果希望條件不滿足時,循環(huán)體一次都不執(zhí)行,就選擇While循環(huán)。

□如果希望即使條件不滿足,循環(huán)體也至少能執(zhí)行一次,就選擇Do While循環(huán)。

注意

UiPath提供的For Each循環(huán)有兩種,一種就是本章所學(xué)的用來遍歷數(shù)組集合類型的For Each循環(huán),另外一種是For Each Row,專門用于遍歷DataTable,大家不要混淆了。關(guān)于For Each Row的用法本書會在第5章Excel自動化操作中詳細(xì)解讀。

主站蜘蛛池模板: 河北区| 丽水市| 连州市| 瑞丽市| 凤凰县| 青河县| 乌拉特前旗| 武宣县| 榆中县| 新乐市| 乌海市| 吉林省| 桃源县| 玉溪市| 巩义市| 竹北市| 叙永县| 尼勒克县| 安西县| 甘南县| 蕉岭县| 昌邑市| 庆云县| 天气| 宾川县| 繁峙县| 汝城县| 亚东县| 文水县| 北川| 石棉县| 秦安县| 安吉县| 微山县| 广汉市| 北流市| 镇康县| 息烽县| 南阳市| 娄底市| 南漳县|