泛型值變量是一種類型的變量,可以存儲(chǔ)任何類型的數(shù)據(jù),包括 文本、數(shù)字、日期和數(shù)組,并且是 UiPath Studio 特有的 。
為了執(zhí)行某些操作,泛型值變量會(huì)自動(dòng)轉(zhuǎn)換為其他類型。但是,小心地使用這些類型的變量是很重要的,因?yàn)?它們的轉(zhuǎn)換可能并不總是正確的。
UiPath Studio 有一種泛型值變量的自動(dòng)轉(zhuǎn)換機(jī)制,您可以通過(guò)仔細(xì)定義它們的表達(dá)式來(lái)引導(dǎo)它們達(dá)到預(yù)期的結(jié)果。請(qǐng)記住表達(dá)式中的第一個(gè)元素的類型被用作進(jìn)行類型的指引。例如,當(dāng)您嘗試添加兩個(gè)泛值變量時(shí),如果表達(dá)式中的第一個(gè)變量被定義為字符串,則結(jié)果是字符串串接。如果它被定義為整數(shù),則結(jié)果是它們的和。
支持的 .NET 方法
名稱 : CompareTo
· Function GenericValue.CompareTo(other As GenericValue) As Integer
· Function GenericValue.CompareTo(obj As Object) As Integer
Contains
· Function GenericValue.Contains(other As String) As Boolean
用于檢查字符串變量是否包含某個(gè)子字符串。例如,如果要檢查一個(gè)句子是否包含特定的單詞,表達(dá)式應(yīng)該寫為 [字符串變量].Contains("子字符串"), 其中 [字符串變量] 就是應(yīng)該包含被檢索的文本的泛型變量
注意:當(dāng)將此方法與數(shù)據(jù)類型 int、Float或 boolen 的泛值變量一起使用時(shí),數(shù)據(jù)將自動(dòng)轉(zhuǎn)換為字符串并相應(yīng)地進(jìn)行處理。
Equals
· Function GenericValue.Equals(other As GenericValue) As Boolean
· Function GenericValue.Equals(obj As Object) As Boolean
GetHashCode
· Function GenericValue.GetHashCode() As Integer
GetType
· Function Object.GetType() As Type
GetTypeCode
· Function GenericValue.GetTypeCode() As TypeCode
IndexOf
· Function GenericValue.IndexOf(value As String) As Integer
· Function GenericValue.IndexOf(value As String, comparisonType As StringComparison) As Integer
· Function GenericValue.IndexOf(value As String, startIndex As Integer) As Integer
· Function GenericValue.IndexOf(value As String, startIndex As Integer, comparisonType As StringComparison) As Integer
描述
用于返回包含在字符串變量中的子字符串的索引。例如,如果要在句子“查找‘Locate’”中找到單詞“Locate”的索引,表達(dá)式應(yīng)該是 [Sentencevariable].indexof(‘Locate’),其中 [Sentencevariable] 是包含句子的泛值變量,而“Locate”是要搜索的詞語(yǔ)。
注意:當(dāng)將此方法與數(shù)據(jù)類型 int、Float 或 boolean 的泛值變量一起使用時(shí),數(shù)據(jù)將自動(dòng)轉(zhuǎn)換為字符串并相應(yīng)地進(jìn)行處理。
Length
· Function GenericValue.Lenght() As Integer
[點(diǎn)擊這里查看詳情](https://msdn.microsoft.com/en-us/library/system.string.length(v=vs.110)
描述
用于返回字符串變量中的字符數(shù)。例如,如果您想知道一個(gè)單詞有多少字母,表達(dá)式應(yīng)該是[WordVariable].length,其中 [WordVariable] 是包含該單詞的泛型值變量。
注意:當(dāng)將此方法與數(shù)據(jù)類型 int、Float 或 Boolean 的泛值變量一起使用時(shí),數(shù)據(jù)將自動(dòng)轉(zhuǎn)換為字符串并相應(yīng)地進(jìn)行處理。
Replace
· Function GenericValue.Replace(oldValue As String, new value As String) As String
用來(lái)替換包含在字符串變量中的數(shù)據(jù)。例如,如果你想將一個(gè)本地文件的路徑 C:\ExampleFolder\Main.xaml 改為對(duì)應(yīng)的服務(wù)器文件路徑:C:/ExampleFolder/Main.xaml,那么表達(dá)式應(yīng)該為 [PathVariable].Replace("","/"),而 [PathVariable] 應(yīng)為包含路徑的泛值變量,"\" 是將要轉(zhuǎn)換成 "/" 的字符串。
注意:當(dāng)將此方法與數(shù)據(jù)類型 int、Float 或 Boolean 的泛值變量一起使用時(shí),數(shù)據(jù)將自動(dòng)轉(zhuǎn)換為字符串并相應(yīng)地進(jìn)行處理。
Split
· Function GenericValue.Split(ParamArray separator As Char()) As String()
· Function GenericValue.Split(ParamArray separator As String()) As String()
· Function GenericValue.Split(separator As Char(), options As StringSplitOptions) As String()
· Function GenericValue.Split(separator As String(), options As StringSplitOptions) As String()
用于從字符串變量中返回子字符串。例如,假如你想從一個(gè) MM.DD.YYYY 格式的日期中導(dǎo)出年份,對(duì)應(yīng)的表達(dá)式應(yīng)該是 [DateVariable].Split(".".ToCharArray)(2),[DateVariable] 是存儲(chǔ)日期的泛值變量,. 是作為分隔符的字符,.ToCharArray 創(chuàng)建數(shù)組來(lái)包含被分隔符拆分出來(lái)的元素,(2) 代表返回的元素在數(shù)組中的索引,在這個(gè)例子中是年份信息。
注意:當(dāng)將此方法與數(shù)據(jù)類型 Int、Float或 Boolean 的泛值變量一起使用時(shí),數(shù)據(jù)將自動(dòng)轉(zhuǎn)換為字符串并相應(yīng)地進(jìn)行處理。
Substring
· Function GenericValue.Substring(startIndex As Integer) As String
· Function GenericValue.Substring(startIndex As Integer, length As Integer) As String
用于返回一個(gè)被包含在字符串變量中的子字符串。例如,如果你想從 There are 100 machines available 這個(gè)句子中導(dǎo)出一個(gè)單詞,對(duì)應(yīng)的表達(dá)式應(yīng)該為 [SentenceVariable].Substring(10,3), [SentenceVariable] 是泛值類型的變量,10 是子字符串第一個(gè)字符的索引, 3 是子字符串的長(zhǎng)度。在這個(gè)例子中,返回的結(jié)果是 "100"
注意:當(dāng)將此方法與數(shù)據(jù)類型 Int、Float或boole的泛值變量一起使用時(shí),數(shù)據(jù)將自動(dòng)轉(zhuǎn)換為字符串并相應(yīng)地進(jìn)行處理。
ToBoolean
· Function GenericValue.ToBoolean(provider As IFormatProvider) As Boolean
ToByte
· Function GenericValue.ToByte(provider As IFormatProvider) As Byte
ToChar
· Function GenericValue.ToChar(provider As IFormatProvider) As Char
ToDecimal
· Function GenericValue.ToDecimal(provider As IFormatProvider) As Decimal
· Function GenericValue.ToDecimal(format As NumberStyles) As Decimal
ToDouble
· Function GenericValue.ToDouble(provider As IFormatProvider) As Double
· Function GenericValue.ToDouble(format As NumberStyles) As Double
ToInt
· Function GenericValue.ToInt(culture As IFormatProvider) As Integer
· Function GenericValue.ToInt() As Integer
描述
將制定的值轉(zhuǎn)換成可空的整型
注意 將這個(gè)方法用于 Boolean 類型的泛值變量時(shí),"True" 和 "False" 會(huì)分別轉(zhuǎn)換成 1 和 0。
ToInt16
· Function GenericValue.ToInt16(provider As IFormatProvider) As Short
注意 將這個(gè)方法用于 Boolean 類型的泛值變量時(shí),"True" 和 "False" 會(huì)分別轉(zhuǎn)換成 1 和 0。
ToInt32
· Function GenericValue.ToInt32(provider As IFormatProvider) As Integer
注意 將這個(gè)方法用于 Boolean 類型的泛值變量時(shí),"True" 和 "False" 會(huì)分別轉(zhuǎn)換成 1 和 0。
ToInt64
· Function GenericValue.ToInt64(provider As IFormatProvider) As Long
注意 將這個(gè)方法用于 Boolean 類型的泛值變量時(shí),"True" 和 "False" 會(huì)分別轉(zhuǎn)換成 1 和 0。
ToLower
· Function GenericValue.ToLower() As String
注意 當(dāng)將此方法與數(shù)據(jù)類型 Int、Float 或 Boolean 的泛值變量一起使用時(shí),數(shù)據(jù)將自動(dòng)轉(zhuǎn)換為字符串并相應(yīng)地進(jìn)行處理。
ToLowerInvariant
· Function GenericValue.ToLowerInvariant() As String
注意 當(dāng)將此方法與數(shù)據(jù)類型 Int、Float 或 Boolean 的泛值變量一起使用時(shí),數(shù)據(jù)將自動(dòng)轉(zhuǎn)換為字符串并相應(yīng)地進(jìn)行處理。
ToSByte
· Function GenericValue.ToSByte(provider As IFormatProvider) As SByte
ToSingle
· Function GenericValue.ToSingle(provider As IFormatProvider) As Single
ToString
· Function GenericValue.ToString(formatProvider As IFormatProvider) As String
· Function GenericValue.ToString(format As String, formatProvider As IFormatProvider) As String
· Function GenericValue.ToString() As String
ToType
· Function GenericValue.ToType(conversionType As Type, provider As IFormatProvider) As Object
ToUInt16
· Function GenericValue.ToUInt16(provider As IFormatProvider) As UShort
Note: When using this method with a GenericValue variable of data type Boolean, the "True" and "False" values are converted to 1 and 0, respectively.
注意 將這個(gè)方法用于 Boolean 類型的泛值變量時(shí),"True" 和 "False" 會(huì)分別轉(zhuǎn)換成 1 和 0。
ToUInt32
· Function GenericValue.ToUInt32(provider As IFormatProvider) As UInteger
注意 將這個(gè)方法用于 Boolean 類型的泛值變量時(shí),"True" 和 "False" 會(huì)分別轉(zhuǎn)換成 1 和 0。
ToUInt64
· Function GenericValue.ToUInt64(provider As IFormatProvider) As Ulong
注意 將這個(gè)方法用于 Boolean 類型的泛值變量時(shí),"True" 和 "False" 會(huì)分別轉(zhuǎn)換成 1 和 0。
ToUpper
· Function GenericValue.ToUpper() As String
注意 將這個(gè)方法用于 Boolean 類型的泛值變量時(shí),"True" 和 "False" 會(huì)分別轉(zhuǎn)換成 1 和 0。
ToUpperInvariant
· Function GenericValue.ToUpperInvariant() As String
注意 將這個(gè)方法用于 Boolean 類型的泛值變量時(shí),"True" 和 "False" 會(huì)分別轉(zhuǎn)換成 1 和 0。
Trim
· Function GenericValue.Trim(ParamArray trimChars As Char()) As String
· Function GenericValue.Trim() As String
注意 當(dāng)將此方法與數(shù)據(jù)類型 Int、Float 或 Boolean 的泛值變量一起使用時(shí),數(shù)據(jù)將自動(dòng)轉(zhuǎn)換為字符串并相應(yīng)地進(jìn)行處理。
TrimEnd
· Function GenericValue.TrimEnd(ParamArray trimChars As Char()) As String
注意 當(dāng)將此方法與數(shù)據(jù)類型 Int、Float 或 Boolean 的泛值變量一起使用時(shí),數(shù)據(jù)將自動(dòng)轉(zhuǎn)換為字符串并相應(yīng)地進(jìn)行處理。
TrimStart
· Function GenericValue.TrimStart(ParamArray trimChars As Char()) As String
注意 當(dāng)將此方法與數(shù)據(jù)類型 Int、Float 或 Boolean 的泛值變量一起使用時(shí),數(shù)據(jù)將自動(dòng)轉(zhuǎn)換為字符串并相應(yīng)地進(jìn)行處理。
Example of Using a GenericValue Variable
使用泛值變量的示例
為了演示泛型值變量是如何工作的,讓我們創(chuàng)建一個(gè)執(zhí)行不同操作的自動(dòng)化操作,其結(jié)果取決于定義它們的表達(dá)式的方式。我們創(chuàng)建兩個(gè)不同數(shù)據(jù)類型的泛值變量,并在 Output 面板中顯示結(jié)果。
創(chuàng)建一個(gè)新的項(xiàng)目
插入流程圖
注:官網(wǎng)文檔漏了這一步
- 創(chuàng)建三個(gè) GenericValue 變量: Int , Str 和 Result
注意:UiPath 中,變量名不區(qū)分大小寫
- 在 Int 變量的 Default 列中,鍵入12,對(duì)于 str 變量,鍵入"34"。第一個(gè)變量被解釋為整數(shù),而第二個(gè)變量被解釋為字符串。

- 添加一個(gè) Assign 到 Designer 面板并且連接到 Start 節(jié)點(diǎn)。

在 Properties 面板的 To 字段,鍵入變量名 Result。
在 Value 字段中,鍵入 Int + Str.
添加一個(gè) Write Line 活動(dòng)并將其連接到 Assign 活動(dòng)
9.在 Properties 面板中的 Text 字段中,鍵入變量名 Result
項(xiàng)目此時(shí)應(yīng)該如下截圖所示:

- 點(diǎn)擊 F5 運(yùn)行。注意,此時(shí) Output 面板顯示了兩個(gè)數(shù)字相加的結(jié)果。

- 再回到先前添加的 Assign 活動(dòng)并將 Value 改為 Str+ Int,即 將兩個(gè)變量的順序?qū)φ{(diào) 。這個(gè)項(xiàng)目現(xiàn)在應(yīng)該如下所示:

- 點(diǎn)擊 F5 運(yùn)行程序。注意到, Output 面板將顯示這兩個(gè)數(shù)字的拼接在一起。

這意味著 UiPath Studio 接受表達(dá)式中定義的第一個(gè)元素作為執(zhí)行操作的指南。如果表達(dá)式中的第一個(gè)元素是作為整數(shù)填充的泛值變量,UiPath Studio 將執(zhí)行元素的相加操作。
如果表達(dá)式中的第一個(gè)元素是字符串或作為字符串填充的泛型值變量,UiPath Studio 將執(zhí)行元素的字符串連接動(dòng)作
返回目錄
UiPath 常見(jiàn)問(wèn)題及解決辦法匯總
更多 UiPath 相關(guān)的資訊,請(qǐng)關(guān)注公眾號(hào):流程自動(dòng)化機(jī)器人教程
由于簡(jiǎn)書禁止直接在文章中插入公眾號(hào)二維碼,請(qǐng)點(diǎn)擊 這里 了解添加該公眾號(hào)的細(xì)節(jié)。