【UiPath2022+C#】UiPath 循环

简介: 循环是指根据指定条件重复执行一组操作。

环境

UiPath Studio Community 2022.4.3

Windows

C#

定义

循环是指根据指定条件重复执行一组操作。在 UiPath 中,最重要的循环包括:

后条件循环

它在满足条件时会执行一个特定序列。每次执行序列后都会评估条件。

例如,机器人可以在网站上执行刷新命令,然后检查是否已加载相关元素。它会不断刷新,不断检查,直至发现相关元素已加载。

先条件循环

它在满足条件时会执行一个特定序列。每次执行序列前都会评估条件。

在很多情况下,它可以与“后条件循环”互换,唯一的区别是何时进行条件验证。但是,在某些情况下,其中之一可能更加合适。例如,如果机器人玩二十一点纸牌游戏,则应先计算手上的点数,然后决定是否再抓一张牌。

遍历循环

它对集合的每个元素执行一个或一系列活动。

这在数据处理中非常有用。假设有一个整数数组,“遍历循环”可以让机器人检查每个数值项是否满足特定条件。

If流程修改

这里,我们将前文If条件语句Demo的示例做进一步修改来实现后条件语句:

  1. 在为 If 条件语句添加了闰年判断条件的同一序列中,我们添加了一个“后条件循环”活动,并将之前的所有活动(“输入对话框”和“If 条件语句”)移到主体框中。
  2. 作为“后条件循环”的条件,我们指定了与“If 条件语句”活动相反的条件,因为我们希望只要值不是闰年,就一直重复循环:!((year mod 4 == 0 && year mod 100 != 0) || (year mod 400 == 0))。

    项目的最终呈现应如以下屏幕截图所示。

    if语句修改的后条件循环.png

流程图修改

这里,我们将前文If流程图Demo的示例做进一步修改来实现后条件语句:

  1. 流程图中,这更容易实现,因为我们只需将 箭头从 False 分支的“消息框”活动拖动到上面的“输入对话框”活动。

    项目的最终呈现应如以下屏幕截图所示。

流程决策修改的后条件循环.png

实现方式

先条件循环

“先条件循环”活动用于在满足特定条件时重复执行特定流程。该活动与后条件循环活动之间的主要区别是,在“先条件循环”活动中,将在执行循环主体之前对条件进行求值。

为了举例说明如何使用“先循环条件”活动,让我们创建一个自动化,它可将整数变量从 10 增加到 100,并将所有数字写入 Microsoft Word 文档。

  1. 创建一个新序列。
  2. 创建一个整型变量 Counter,默认值为 10。
  3. 向“设计器”面板中添加“先条件循环”活动。
  4. 在“条件”字段中,键入“Counter < 100”。这意味着循环的主体将一直重复,直到 Counter 变量的值大于 100 为止。
  5. 在“先循环条件”活动的“主体”部分中,添加“赋值”活动。
  6. 在“属性”面板的“至”字段中,添加 Counter
  7. 在“值”字段中,键入 Counter +1。这会将 Counter 的值加一。
  8. 在“赋值”活动下添加一个“附加文本”活动。

    该活动是 Word 活动包的一部分。如果没有该活动,请使用 包管理器功能安装它。
  9. 在“文件路径”字段中,键入 Word 文档的路径并用引号括起。

    在运行自动化时请勿使用 Word 文档,否则系统将显示消息错误并停止执行。
  10. 在“文本”字段中,键入“计数值现为“ + Counter.ToString+“.”。

    项目的最终呈现应如以下屏幕截图所示。

先条件循环序列.png

  1. 按 F5。系统将执行自动化。
  2. 双击第 9 步中指定的 Word 文档。注意,10 到 100 之间的所有数字都将按预期写入。

先条件循环结果.png

后条件循环

“后条件循环”活动用于在满足条件时执行自动化的指定部分。不再满足指定的条件时,项目将退出循环。

为了举例说明如何使用“后条件循环”活动,让我们来创建一个自动化,它可将整数变量从 0 递增到 10,并且每次递增后显示一条消息。

  1. 创建一个新序列。
  2. 创建一个整型变量 Counter,默认值为 0。
  3. 向“设计器”面板中添加“后条件循环”活动。
  4. 在“正文”部分中,添加“赋值”活动。
  5. 选择“赋值”活动,并在“属性”面板中的“至”字段中添加 Counter 变量。
  6. 在“值”字段中,键入 Counter +1。这可以帮助您将变量的值加一。
  7. 在“赋值”活动下添加“写入行”活动。
  8. 在“文本”字段中,键入“计数器是” + Counter.ToString。每次计数器的值递增时,这会在“输出”面板中写入计数器的值。
  9. 在“后条件循环”活动的“条件”部分中,输入 Counter <10。重复“后条件循环”活动的主体,直到 Counter 变量的值大于 10。
  10. 按 F5。系统将执行自动化。注意,“输出”面板显示“写入行”活动中指示的消息。

    项目的呈现应如以下屏幕截图所示。

后条件循环序列.png

遍历循环

“遍历循环”活动用于逐步浏览数组、列表、数据表或其他类型的集合,从而可以迭代数据并单独处理每条信息。

为了举例说明如何使用“遍历循环”活动,让我们来创建一个自动化,它可遍历一个整数数组的每个元素,并将数组和每个元素的长度写入“输出”面板。

  1. 创建一个新序列。
  2. 创建一个整型变量数组 FibonacciNumbers
  3. 在“默认值”字段中,键入斐波那契数列直至达到所需的值,例如 new int[] {1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89}。
  4. 在“设计器”面板中添加“遍历循环”活动。
  5. 请勿对“遍历循环”字段进行任何更改。
  6. 在“输入”字段中,添加 FibonacciNumbers 变量。此活动查看提供的变量中的每个单独项。
  7. 在“遍历循环”活动的“主体”部分中,添加“写入行”活动。
  8. 在“文本”字段中,键入“此斐波那契数列的长度为“ + FibonacciNumbers.Length.ToString + ”并且包含“+ item.ToString +”元素。”。此表达式用于在“输出”面板中写入数组元素的总数和数组的每个元素。

    项目的最终呈现应如以下屏幕截图所示。

遍历循环进阶序列.png

  1. 按 F5。系统将执行自动化。请注意,“输出”面板显示数组中每个元素的正确消息。

遍历循环结果.png

遍历循环进阶
  • 首先,我们创建了一个序列项目,然后添加了“选择文件夹”活动,从而提示用户指定计算机上的文件夹。活动的输出是存储在我们创建的 字符串变量中的完整路径。
  • 我们创建了一个在“分配”活动中使用的fileInfo数组,以便使用“new DirectoryInfo(folderPath).GetFiles()”方法获取文件
  • 我们添加了一个“遍历循环”活动来遍历数组中的每一个项目(文件),并执行了以下活动:
  • 使用“Replace”和“ DateTime.Today.ToString("_yyyy_MM_dd")”方法生成文件的新名称,并将其存储在局部字符串变量中:fileName.ToString().Replace(".doc", DateTime.Today.ToString("_yyyy_MM_dd") +".doc")。
  • 我们使用了“日志消息”活动打印新名称,还使用了
  • 我们使用了“移动文件”活动更改文件夹中文件的名称。

    输入

遍历循环文件输入.png

序列总览

遍历循环进阶序列.png

序列细节

遍历循环进阶序列1.png

序列细节

遍历循环进阶序列2.png

输出

遍历循环文件输出.png

文档

后条件循环语句

先条件循环语句

遍历循环

相关文章
|
4天前
|
开发框架 .NET 程序员
掌握C#语言的精髓:基础知识与实用技能详解(数据类型与变量+ 条件与循环+函数与模块+LINQ+异常+OOP)
掌握C#语言的精髓:基础知识与实用技能详解(数据类型与变量+ 条件与循环+函数与模块+LINQ+异常+OOP)
7 0
|
2月前
|
C#
C# 循环与条件语句详解
使用 switch 语句选择要执行的多个代码块中的一个。 示例:
53 2
|
2月前
|
C#
C#基础语法(判断和循环)
C#基础语法(判断和循环)
30 1
|
12月前
|
C#
C#中For循环和Foreach循环的区别
C#中For循环和Foreach循环的区别
|
2月前
|
C# 图形学
【Unity 3D】C#中while do while for foreach等循环语句的讲解(附测试代码)
【Unity 3D】C#中while do while for foreach等循环语句的讲解(附测试代码)
131 0
|
7月前
|
C#
C# for和foreach两种循环的效率问题
C# for和foreach两种循环的效率问题
|
12月前
|
C#
【C#视频】for、while、do-while三种循环
【C#视频】for、while、do-while三种循环
|
12月前
|
C#
C#基础⑤——三大结构(顺序、分支、循环)
顾名思义,就是按照所写代码的书写顺序、从上到下的顺序来执行。
|
12月前
|
C#
C#中的循环和条件语句
C#中的循环和条件语句
58 0
|
前端开发 程序员 C#
【C#】.net core2.1,在实体类写了个非常经典的无限循环错误
遇到一个非常有趣的bug,使用VS2017调试运行.net core2.1 MVC项目时,程序本身运行的好好的,突然启动起来就报错 不得不说,编码细节很重要
120 0