【UiPath】数组的查找、分离和GenericValue类型的特点实例

一、Practice 1 找到数组中最大和最小值

思路:设置MAX和Min两个变量,遍历数组进行比较,将其中较小(较大)值存入变量即可。

收获:数据类型的转换问题

For Each中存放的是Object类型的数组,而我们想要进行处理的数据类型是System.int32[]类型

通过Integer.Parse()进行强制数据类型转化。

二、创建变量进行操作

这是一个测试问题,向我们展示了Genericvalue这种数据类型的用处,如果将四个变量分别存储为string和int,A+C和C+A是不能直接进行运算的。

GenericValue变量是一种可以存储任何类型数据的变量,可以叫做泛型,包括文本、数字、日期和数组,它是UiPath Studio特有的。

为了执行某些操作,GenericValue变量会自动转换为其他类型。

UiPath Studio将表达式中定义的第一个元素作为执行操作的准则。如果表达式中的第一个元素是整数或作为整数填充的GenericValue变量,UiPath Studio将执行元素的和。

如果表达式中的第一个元素是字符串或作为字符串填充的GenericValue变量,UiPath Studio将执行元素的串联。

因此在执行A+C时是执行的字符串拼接,而执行C+A是int型数据运算。

三、根据关键字进行数组分离

这个结果是参考资料,我自己在做的时候遇到了很多问题

这个问题实际上是:已知一个System.String[]类型的数组,通过识别其中的“Ax”、“Bx”和“Cx”来将其分别存入三个数组中

通过For Each循环对数据进行遍历然后通过switch进行筛选。

1.Switch语句的使用

Expression:判断条件

Case:出现的不同情况

Default:异常处理

对于这个情况,Expression究竟如何写才能准确得到想要的判断结果呢,

我刚开始想使用的是item.contains(),判断是否包含特殊字符,但是这种语句只能使用在if条件中,只会得到1/0

根据答案我才知道是要取字符串的前两位然后与“Ax”、“Bx”和“Cx”进行配对才能进行准确的匹配

所以使用的是item.substring()进行截取

2.对于数据类型的取用

UiPath的每个方法都可以设置其想要使用的数据类型

   TypeArgument

在数据处理的时候设置对应的数据类型就能避免对于数据类型进行变化的问题(之前没有很注意)

因为在Switch中处理的是单一的item,因此容易理解要设置为string类型

而对于For Each循环,本来以为要设置成System.string[]就是数组,因为处理的就是数组,但其实还是string类型,不然在后续处理中就会报错,可能是因为这样就将item识别为数组,就不能正确的使用方法了。

 

三、如何将识别到的数据存入数组

按照C的思路是

int a = array.length

array[a]= item

但是却不适用UiPath

 

提示索引超出数组边界

《解决方法》

对于如何将数据放入数组

使用的是array.Concat()

在网上找到的是用于连接两个或多个数组。 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

是Mysql中的方法,只能说又学到了一种新操作了 - -

参考链接:

https://www.cnblogs.com/blossomhong/p/13383619.html

https://www.jianshu.com/p/a2371b5779d3

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值