RPA流程机器人

数据类型

更新时间:2024-06-05 09:57:31

数据类型是数据在内存中的存储结构。在程序中,不同类型的数据就要选择对应不同的数据结构来存储,例如存储用户名可以使用字符串类型,存储年龄可以使用Int32类型等。

UERPA中的变量支持多种数据类型,任何.Net中的数据类型都可用于UERPA,例如布尔型、字符串类型、整数类型、日期、泛型等。由于UERPA中采用的是强类型编程语言C#或VB.NET,在创建变量时指定了何种数据类型,将来就只能使用该变量保存同种数据类型的数据。一旦赋值给变量的数据类型与变量本身的数据类型不一致,就会报错。因此在实际项目中需要使用不一致的数据类型的数据时,经常需要将操作的数据转化为所需要的类型,这个过程即为数据类型的转换,分为显式转换和隐式转换。

显式转换,也称为强制转换,指手动借助类型转换的方法完成转换,例如将Int32型变量Age的值转换成String类型可以用Age.ToString方法实现,而将String类型变量SerialNumber的值转换成Int32型可以用Convert.ToInt32(SerialNumber)方法来实现。

隐式转换,即不需要强制转换,系统自动完成数据类型的转换。只有当被转换类型的值范围小于目标类型的值范围,且被转换类型的值与目标类型兼容时可以执行隐式转换,否则隐式转换会报错。例如可以将Int32型的值赋值给Double型变量,但是将Double型的值赋值给Int32型变量时就会报错。

此外,在变量面板的变量类型下拉框中会默认显示几种最常用的数据类型。如果要使用的数据类型不在下拉列表中,比如DateTime类型,就可选择浏览类型来查找。使用过变量类型后,该类变量将显示在变量面板的变量类型下拉列表中。

  1. String

    文本(String)类型,也称字符串类型,用于在程序中保存一串固定的字符。当程序中需要保存一个文本信息时,都可用String类型,例如员工姓名、商品类别等。
    
    	UERPA规定,所有的字符串必须放在一对英文双引号之间,如"张三"、"UERPA"等。有些值虽然全由数字组成,比如手机号、QQ号等,这些值在项目中仅仅起到标识的作用,而不会用于计算或比较大小,因此也会将它们定义为字符串类型,如"84532345"。
    
    	在实际项目中,如果想将两个字符串的值连接到一起,只需要使用加号连接即可。例如"银联商务"+"RPA"的结果是"银联商务RPA“。
    
    	常见的字符串处理方法如下所示。
    
    - 字符串.Length:获取字符串长度,如"UERPA".Length的结果为5。
    - 字符串.Contains():判断该字符串是否包含特定的字符串,如果包含则返回True,反之返回False,如"UERPA".Contains("RPA")的结果为True。
    - 字符串.EndsWith():判断该字符串是否以某个字符串结尾,如果包含则返回True,反之返回False,如"RPA".EndsWith("A")的结果为True。
    - 字符串.IndexOf():查找该字符串中第一次出现某个字符串的位置,如果存在返回字符串开始的位置,不存在则返回-1,如"RPA".IndexOf("A")的结果为2。
    - 字符串.LastIndexOf():查找该字符串中最后一次出现某个字符串的位置,如果存在返回字符串开始的位置,不存在则返回-1,如"UERPA".LastIndexOf("R")的结果为2。
    - 字符串.Trim():去掉字符串前后的空格,如" RPA ".Trim()的结果为"RPA"
    - 字符串.TrimStart():去掉字符串左侧的空格,如" RPA ".TrimStart()的结果为"RPA "。
    - 字符串.TrimEnd():去掉字符串右侧的空格,如" RPA ".TrimEnd()的结果为" RPA"。
    - 字符串.Replace(strOld,strNew):用后一个字符串替换前面的字符串,替换后返回字符串,如"www.UERPA.com".Replace("UERPA","chinaums")的结果为www.chinaums.com。
    - 字符串.Substring(stratIndex,Length):截取子串,第一个参数是从某个位置开始截取,后者是截取的长度,如"RPA之家".Substring(0,3)的结果是RPA。
    - 字符串.Insert(index,string):在Index位置后面插入字符串,如"RPA".Insert(3,"教程")的结果为RPA教程。
    - 字符串.ToLower():转换小写字母,如"RPA教程".ToLower()的结果为rpa教程。
    - 字符串.ToUpper():转换大写字母,如"uerpa".ToUpper()的结果为UERPA。
    ```<video controls>
    
  1. Int32
数字(Int32)类型,也称整数类型,用于存储程序中整数类型的数值,可以用于执行方程或进行比较。当程序中需要保存一个整数(不带小数点和小数位数)时,都可用Int32类型,例如年龄、数量等。

	使用Int32型时要注意以下两点:

- Int32型可以存储的整数范围是-2147483648~2147483647。如果要赋值的数据超出这个范围,程序就会报错。
- 当需要将数值间的计算结果赋值给Int32型的变量时,需要注意计算结果是否为整数。例如整数除以整数的结果可能是整数,也可能是小数,当计算结果为小数时,程序就会报错。
  1. Double

    双精度浮点型(Double)也是一种数字类型,用于存储程序中的小数类型的数值。当程序中需要保存一个小数时,都可用Double类型,例如平均成绩、长度、宽度、金额等。
    
    	Double的存储范围是-1.79E+308~1.79E+308,如果要赋值的数据超出这个范围,程序就会报错。
    
  2. Boolean

    布尔(Boolean)类型也是一种常用的数据类型,它只有True或者False两个可能的值,它可以用于做出决策,从而更好地控制流程。当程序中需要判断一个表达式的结果是否正确时,都可用Boolean类型,例如判断一个日期是不是月末,判断一个员工是不是男性员工等。
    
  3. DateTime

    日期和时间(DateTime)类型,用于在程序中存储日期和时间信息。当程序中需要保存一个日期类型或时间类型的信息时,都可以用DateTime类型,例如员工的入职日期、当前时间等。
    
    在实际项目中,我们经常会需要将DateTime类型和String类型的数据互相转换。将String类型转换成DateTime类型时,一般可以使用DateTime.Parse("日期"),例如DateTime.Parse("2020-1-20 20:15:06")或者DateTime.Parse("2020-1-20");而在将DateTime类型转换成String类型时,可以使用ToString()方法,它会把日期转换成操作系统默认的日期时间类型。我们也可以指定DateTime类型的数据转换成String类型后的格式,转换的方法如下所示。
    
    - ToString("日期格式"):通过这种方法可以非常自由地将转换后的日期设置为我们希望的格式。在日期格式中,小写y代表年,大写M代表月,小写d代表天,大写H代表小时,小写m代表分钟,小写s代表秒,小写f代表毫秒。其中字母位数也可以自由设定,不同位数代表转换成不同格式,例如代表月份的M可以有M:2、MM:02、MMM:Feb、MMMM:February等不同格式。举个例子来说,我们可以写成Now.ToString("yyyy-MM-dd HH:mm:ss fff"),也可以只取任何一部分,如获取小时数为Now.ToString("HH")或者Now.ToString("H")。
    - ToLongDateString():将日期转换成长日期格式,如Thurday, 24 December 2020
    - ToShortDateString():将日期转换成短日期格式,如12/24/2020
    - ToLongTimeString():将日期转换成长时间格式,如20:00:00
    - ToShortTimeString():将日期转换成短时间格式,如20:00
    
    除此之外,我们还经常用到一些DateTime类型数据的处理方法。
    
    - Add:表示增减一个时间间隔,如Now.Add(new TimeSpan(1,2,3,4))表示当前时间增加一天二小时三分钟四秒
    - AddYears:表示增减年数,如Now.AddYears(-1)表示当前时间减一年
    - AddMonths:表示增减月份,如Now.AddMonths(2)表示当前时间增加两个月
    - AddDays:表示增减天数,如Now.AddDays(-3)表示当前时间减3天
    - AddHours:表示增减小时数,如Now.AddHours(-12)表示当前时间减12小时
    - AddMinutes:表示增减分钟数,如Now.AddMinutes(30)表示当前时间增加30分钟
    - AddMilliseconds:表示增减毫秒数,如Now.AddMilliseconds(600)表示当前时间增加600毫秒
    

6.Array

数组(Array)类型,用于在程序中存储同一类型的多个值。Array中元素的个数在初始化时就已经固定了,后续使用时不能再增加和删除。当程序中需要保存同一系列的一串数据时,都可用Array类型,例如员工工资的各个组成部分、商品的各个部件等。

	UERPA支持的Array类型和变量类型一样多,可以创建整数类型数组、字符串类型数组、布尔值类型数组等,其中数组的类型指的就是数组中元素的类型。但无论是什么类型,Array的值必须放在一对英文大括号中间,且每个值之间用逗号隔开,如{21,10,35}、{"张三","男","40"}等。

	在需要取得Array中某个元素的值或为某个元素赋值时,可以使用下标来实现,具体表现形式为Array(Index)。Array的下标是从0开始计算的,也就是说数组中的第一个元素表示为Array(0)。如Array型变量EmpInfo的值为{"张三","男","40"},该数组的第一个元素EmpInfo(0)的值为"张三",第二个元素EmpInfo(1)的值为"男",第三个元素EmpInfo(2)的值为"40"。

	Array的长度指的是Array中元素的个数,可以使用Array.Length获取,表示数组中有多少个相同类型的数据,如{1,2,3,4}.Length的结果为4。
  1. Dictionary
字典(Dictionary)类型是一种Object类型,用于在程序中存储键值对。Dictionary的键值对由Key(键)和Value(值)两个元素组成,其中Key必须是唯一的,而Value不需要唯一,使用时可以通过Dictionary(Key)的形式在Dictionary中获取到Key对应的Value。

	当程序中希望通过唯一标识保存或查询其对应的信息时,都可用Dictionary类型,例如药品价格单、图书馆的书籍目录、各国家首都信息等。

	Dictionary类型不在变量面板的变量类型下拉列表的默认选项中,它可以在浏览类型对话框中的系统命名空间System.Collections.Generic下找到,如图下图所示。Dictionary<TKey,TValue>中的TKey表示Key的数据类型,TValue表示Value的数据类型。

Dictionary中的Key和Value都可以是任何类型,如String型、Int32型、Double型及其他.Net中的数据类型。Dictionary本身作为一种Object类型,与之前提到的数据类型不同,需要实例化之后才可以使用。它的构造函数形式为new Dictionary(Of TKey,TValue) From {{Key1,Value1}}, {Key2,Value 2}}。Dictionary型变量在Variables面板中的显示如下图所示。`

获取Dictionary中的信息有如下几种常见方式:

- Dictionary(Key):获取Dictionary中的信息有如下几种常见方式
- Dictionary.Item(Key):获取与指定的Key相关联的Value值,同Dictionary(Key)。
- Dictionary.Keys(Index):获取指定下标的Key值
- Dictionary.Values(Index):获取指定下标的Value值
- Dictionary.Count:获取包含在Dictionary<TKey,TValue>中的键值对的数目
- Dictionary.Keys:获取包含在Dictionary<TKey,TValue>中的Key的集合
- Dictionary.Values:获取包含在Dictionary<TKey,TValue>中的Value的集合

要对Dictionary中的信息进行判断时,可以使用如下方法。

- Dictionary.ContainsKey(Key):确定Dictionary<TKey,TValue>是否包含指定的Key。

- Dictionary.ContainsValue(Value):确定Dictionary<TKey, TValue>是否包含特定Value。
- Dictionary.Equals(Dictionary):确定指定的Dictionary是否等于当前的Dictionary。

需要更改或追加Dictionary中的键值对时,可以使用设置变量组件将Value值赋值给Dictionary(Key)。如果指定的Key已经存在,则会将它相关联的Value修改为新的Value值;如果指定的Key不存在,则会在Dictionary中追加新的Key和Value值。

8.List

列表(List)类型也是一种Object类型,用于在程序中存储一系列数据的集合,并且List允许增加和删除元素,更加灵活。List可通过Index(索引)访问,UERPA中也提供对List进行搜索、排序和操作的方法。当程序中需要保存同一系列的数据集合,并且还需要对数据进行增减时,都可用List类型,例如某活动的参与者名单等。

	List类型不在变量面板的变量类型下拉列表的默认选项中,它可以在浏览类型对话框中的系统命名空间System.Collections.Generic下找到,如下所示。 List<T\>中的T表示List中元素的数据类型。

与Array一样,List中的元素可以是任何类型,如String型、Int32型、Double型及其他.Net中的数据类型。List的值也必须放在一对英文大括号中间,且每个值之间用逗号隔开,如{12,14,15}、{"张鑫",王强","李瑶"}等。

	在需要取得List中某个元素的值或为某个元素赋值时,可以使用下标来实现,具体表现形式为List(Index)。List的下标是从0开始计算的,也就是说List中的第一个元素表示为List(0)。例如List型变量NumberList的值为{12,14,15},该List的第一个元素NumberList(0)的值为12,第二个元素NumberList(1)的值为14,第三个元素NumberList(2)的值为15。

	List类型作为一种Object类型,与Dictionary类型一样,需要实例化之后才可以使用。它的构造函数形式为new List(Of Type) From {Value1,Value 2}。List型变量在Variables面板中的显示如下图所示。

在变量-列表下面的组件,可以对列表对象进行操作;

< 上一篇:变量
下一篇: 常用运算符 >