Uipath學習(1):Uipath變數及資料型別
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 <key type>,<value type>) From {{"tom",11},{"jim",21}}
字典方法:
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<String,Int32>;
建立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<String>
建立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建立;