- UiPath RPA开发:入门、实战与进阶
- 邵京京等
- 1486字
- 2021-08-06 14:57:33
3.2 数据类型
数据类型是数据在内存中的存储结构。在程序中,不同类型的数据就要选择对应不同的数据结构来存储,例如存储用户名可以使用字符串类型,存储年龄可以使用Int32类型等。
UiPath中的变量支持多种数据类型,任何.Net中的数据类型都可用于UiPath,例如布尔型、字符串类型、整数类型、日期、泛型等。由于UiPath中采用的是强类型编程语言C#或VB.NET,在创建变量时指定了何种数据类型,将来就只能使用该变量保存同种数据类型的数据。一旦赋值给变量的数据类型与变量本身的数据类型不一致,就会报错。因此在实际项目中需要使用不一致的数据类型的数据时,经常需要将操作的数据转化为所需要的类型,这个过程即为数据类型的转换,分为显式转换和隐式转换。
显式转换,也称为强制转换,指手动借助类型转换的方法完成转换,例如将Int32型变量Age的值转换成String类型可以用Age.ToString方法实现,而将String类型变量SerialNumber的值转换成Int32型可以用Convert.ToInt32(SerialNumber)方法来实现。
隐式转换,即不需要强制转换,系统自动完成数据类型的转换。只有当被转换类型的值范围小于目标类型的值范围,且被转换类型的值与目标类型兼容时可以执行隐式转换,否则隐式转换会报错。例如可以将Int32型的值赋值给Double型变量,但是将Double型的值赋值给Int32型变量时就会报错。
此外,在Variables面板的Variable type下拉框中会默认显示几种最常用的数据类型。如果要使用的数据类型不在下拉列表中,比如DateTime类型,就可选择Browse for Types(浏览.Net变量类型)来查找。首次使用Browse and Select a .Net Type窗口中的一种变量类型后,该类变量将显示在Variables面板的变量类型下拉列表中。
【例3.5】创建一个变量用于存储当天的日期,并在Output面板打印该变量的值。
具体实现步骤如下所示。
1)进入Studio界面,点击Process创建一个新流程,命名为3_5_VariableType,如图3-45所示。
图3-45 新建流程
2)拖入一个Sequence活动到设计器面板。在Properties面板中,将Sequence活动的DisplayName属性更改为“打印日期”,如图3-46所示。
图3-46 拖入Sequence活动并更改属性
3)拖入一个Assign活动到“打印日期”活动中。在Properties面板中,将Assign活动的DisplayName属性更改为“取得日期”,在Value属性中输入Datetime.Today,如图3-47所示。
图3-47 拖入Assign活动并更改属性
4)在“取得日期”活动的Properties面板中,右击To属性的输入框,从弹出的菜单中选择Create Variable选项,系统随即会在输入框中显示“Set Var:”字样,输入想要创建的变量名称TodayDate后按下回车键,如图3-48所示。
5)此时“取得日期”活动显示蓝色叹号,表示存在验证性错误,这是由于要赋值给变量TodayDate的值Datetime.Today的数据类型为DateTime,与变量的数据类型不一致,如图3-49所示。
图3-48 创建变量
6)在Variables面板中检查变量TodayDate,它的数据类型默认为String型,因此需要将其转换为DateTime型。默认的Variable type下拉列表中不含有这种数据类型,可以选择Browse for Types...选项,如图3-50所示。
图3-49 验证性错误提示
图3-50 检查变量并更改变量类型
7)系统随即会显示Browse and Select a .Net Type对话框,在Type Name字段中输入想要查找的变量类型关键字,在结果中选择需要的选项后点击OK按钮,如图3-51所示。
图3-51 选择DateTime类型
8)此时Variables面板中变量TodayDate的数据类型将会被更改为DateTime型,如图3-52所示。
图3-52 更改变量类型后的Variables面板
9)此时“取得日期”活动的蓝色叹号消失,已经不存在验证性错误,如图3-53所示。
图3-53 验证性错误消失
10)拖入一个Write Line活动到“打印日期”活动中。在Properties面板中,将DisplayName属性更改为“打印日期至Output面板”,在Text属性中输入TodayDate,如图3-54所示。
11)此时“打印日期至Output面板”活动的Text属性显示蓝色叹号,表示存在验证性错误,这是由于Text属性中应当输入数据类型为String型的值,而TodayDate的数据类型为DateTime,具体错误信息如图3-55所示。
图3-54 拖入Write Line活动并更改属性
图3-55 验证性错误提示
12)可以使用强制转换方式将Text属性的值更改为TodayDate.ToString,更改后验证性错误消失,如图3-56所示。
图3-56 设置强制转换
13)按F5键执行流程,将在Output面板中显示执行结果,如图3-57所示。
图3-57 执行结果