1.UiPath变量及数据类型
常见类型:
String:字符串类型,Cstr()、ToString()转换
Boolean:布尔类型
Int32:整数类型,32位,CInt()、Integer.Parse()转换
Double:浮点类型, CDbl()、Double.Parese()
Decimal:固定小数类型,CDec()、Decimal.Parese()转换
DataTime:时间日期类型,DateTime.Parse()转换
Generic Value:任意类型
Array of[T]:数组类型,存储同一类型数据,固定长
List:列表类型,存储同一类型,可变长
Object:对象
变量:程序运行过程中保存数据的单元;
命名规则:字母、数字、下划线,字母下划线开头;
注:驼峰命名法则。
1.1创建变量
创建Activities,查找Sequence,设置Display Name:参数;
创建变量方式1:在Variables页签创建
Name:设置变量名;
Variable type:设置变量类型;
Scope:设置变量作用域;
Default:设置变量默认值(可选参数);
创建变量方式2:通过Activity创建变量
创建Assign,编辑To,右键->Create Variable或者Ctrl+K
创建变量方式3:在Properties页签,编辑To,右键->Create Variable创建变量
1.2类型转换
示例:Datetime类型
创建Assign,变量名:Assign_TODAY,变量值:DateTime.Today;
选择参数类型,System.DateTime;
注:数据的隐式转换和显示转换
隐式转换:系统自动完成数据类型转换,Int->Double;
显示转换: 强制类型转换,Double->Int,会丢失精度;
注:不允许Date日期类型到String的隐式转换,需要显示转换为String;
通过Assign_TODAY.ToString,强制转换;
1.3字符类型
字符串方法:
Length():字符串长度;
Contains():字符串是否包含特定字符串;
EndsWith():字符串是否以某个字符串结尾;
IndexOf():字符串出现某个字符串的开始位置;
LastIndexOf():字符串中最后一次出现某个字符串的开始位置;
Trim():字符串前后去空格;
TrimStart():字符串去掉左边空格;
TrimEnd():字符串去掉右边空格;
Replace(strOld,strNew):字符串strNew替换strOld;
Substring(startIndex,Length):字符串截取子字符串;
Insert(index,String):字符串index位置插入String;
ToLower():字符串转小写;
ToUpper():字符串转大写;
1.4数字类型
Int32类型,32位整型。数字最大范围-2^31->2^31-1;
Double类型,浮点型。数字最大范围-1.79E+308 -> 1.79E+308;
1.5布尔类型
Boolean类型,只有True,False两种值;
1.6日期类型
注:日期类型经常和String类型互相转换。
String类型->Datetime类型
方法:DateTime.Parse("日期字符串")
Datetime类型->String类型
方法:
ToString("日期格式")
yyyy-MM-dd HH:mm:ss fff
MMM:表示月简写表示,Feb;
MMMM:表示月完整表示,February;
ToLongDateString():转换长日期字符串;
ToShortDateString():转换短短日期字符串;
ToLongTimeString():转换长时间字符串,时分秒;
ToShortTimeString():转换短时间字符串,时分;
Add():日期加减,DateVar.Add(new TimeSpan(1,2,3,4)),TimeSpan参数依次表示天,时,分,秒。表示日期参数加一天,两小时,三分钟,四秒;
AddYears():年加减;
AddMonths:月加减;
AddDays:日加减;
AddHours:时加减;
AddMinutes:分加减;
AddMilliseconds:毫秒加减;
CompareTo:日期比较,Date1.CompareTo(Date2),Date1小返回小于0,Date1大返回大于0,相等返回0;
示例:
DateTime.Parse("2020-10-02").Add(new TimeSpan(1,0,0,0))
1.7泛类型
GenericValue泛类型,可以存储任何类型,在进行运算时可以自动进行类型转换。但是转换可能出错。
1.8数组类型
数组(Array)是相同数据类型,固定数据个数的一串数据,初始化时指定数组长度后续不能添加和删除;
创建Array数组,可以创建二维数组;
示例:
{"tom","cq"}
{({"tom","cq"}),({"jim","sc"})}
创建Assign,Array_VAR1赋值{"Tom","重庆"}
创建Write Line,Text: "姓名:"+Array_VAR1(0) + "地点:" + Array_VAR1(1)
1.9字典类型
字典(Dictionary),使用键值对方式存储数据;
创建字典
new Dictionary(Of
字典方法:
Dictionary(Key):通过Key获取value值;
Dictionary.Item(Key):通过Key获取value值;
Dictionary.Keys(Index):获取指定下标Key值;
Dictionary.Values(Index):获取指定下标的Value值;
Dictionary.Count():获取键值对数目;
Dictionary.Keys():获取key的集合;
Dictionary.Values():获取value的集合;
Dictionary.ContainsKey(Key):判断是否集合包含指定Key;
Dictionary.ContainsValue(Value):判断是否集合包含指定Value;
Dictionary.Equals(Dictionary):是否两个dictionary相等;
Dictionary.Add(Key,Value):字典添加值;
Dictionary.Remove(Key,Value):移除指定键值对;
Dictionary.Clear():移除所有键值对;
创建变量,Dict_VAR1,类型:Dictionary
创建Assign,创建字典new Dictionary(OF String,Int32) From {{"tom",12},{"jim",23}} 赋值给Dict_VAR1变量;
创建Activity:Invoke Method,设置MethodName:Add,设置TargetObject:Dict_VAR1,设置Parameters输入参数类型、参数值;
创建Activity:Invoke code,
设置Edit Code: Dict_VAR1.Add("Lin",48);
设置Edit Arguments:设置输入参数;
创建Write Line,
设置Text:
Dict_VAR1.Item("Li").ToString +
"---" +
Dict_VAR1.Item("Lin").Tostring
字典遍历:
创建Activity:ForEach,
设置遍历变量:Dict_VAR1.Keys,遍历字典key
设置Text:
"姓名:" +
item.ToString +
"年龄:" +
Dict_VAR1.Item(item.ToString).ToString
1.10列表类型
列表(List)存储一系列数据集合;
Activities:
Add To Collection:添加元素到List;
Clear Collection:清空List元素;
Exists In Collection:是否元素在List存在;
Remove From Collection:从List中移除元素;
List相关方法,通过Invoke Method,Invoke Code实现调用。
List.Add(Item):添加元素到List;
List.Insert(Index,Item):插入元素到List指定index位置;
List.Contains(Item):确定元素是否存在于List中;
List.Sort():List元素排序;
List.Remove(Item): 从List中移除元素;
List.Clear():清空List元素;
创建Variables,变量名:List_VAR1,变量类型:List
创建Activity:Assign,为变量:List_VAR1赋值new List(Of String) From {"李四","张三"};
创建Activity:Add To Collection,添加值"王五";
创建Activity:Add To Collection,添加值"张三";
List中可以有重复元素,通过创建HashSet类型(不允许重复值)将List值放入,去除重复值;
1.11变量运算
算术运算:
+,-,*,/,Mod:加减乘除取余;
比较运算:
=,<,>,<=,>=,<>:等于,小于,大于,小于等于,大于等于,不等于;
逻辑运算:
And,Or,Not,Xor:与,或,非,异或;
AndAlso:和And类似,当表达式1为False时,不判断表达式2;
OrElse:和Or类似,当表达式1为True时,不判断表达式2;
三目运算:
If(条件表达式,表达式1,表达式2)
1.12创建参数
参数可以在流程之间传递数据。创建过程和变量类似。
通过Arguments页签创建;
通过Properties页签右键->Create In Argument,Create Out Argument;
通过快捷键Ctrl+M,Ctrl+Shift+M创建;