对列表的每项进行修改后,重新输出为列表

使用问题 · 890 次浏览
Pale 创建于 2022-06-27 13:55

对类似下面这样的一个列表

779s

1446s

2813s

3165s

需要把后面的s全部删除后转换为数字,最后求和。

目前已使用使用“每个”,对每一项进行“文本操作”,删除末尾的s,

在调试中可以看到是有清除的,可是在输出的时候只会输出最后一项,

想请教下应该怎么把结果也作为列表输出。


回复内容
zetalpha 2022-06-27 14:00
#1

每个

每项处理xx 

添加到元素尾 新列表

这种方法需要两个列表

当然你会用表达式更简单

zetalpha 最后更新于 2022-06-27 14:00
Pale 回复 zetalpha 2022-06-28 13:17 :

好的~谢谢指点~表达式方面正在了解中!

level1 2022-06-27 15:14
#2

使用表达式:

$= int a = 0;

foreach (string x in {列表}) {

a += int.Parse(Regex.Match(x,"\d+").ToString());

}

a;


使用Quicker模块:


level1 最后更新于 2022-06-27 15:21
Pale 回复 level1 2022-06-28 13:13 :

非常感谢详细解答,可惜只能赞同一次,谢谢!!

咿呀杀杀 2022-06-27 15:37
#3

方法一,表达式:$= {列表}.Select(x => x.TrimEnd('s')).Sum(x => double.Parse(x))

方法二,“每个”模块累加:


咿呀杀杀 最后更新于 2022-06-27 15:42
Pale 回复 咿呀杀杀 2022-06-28 13:16 :

非常感谢!方法二也是一个新思路,感谢!

回复主贴