【发布时间】:2011-06-16 22:41:30
【问题描述】:
我有一个包含双精度数的 csv 字符串(例如“0.3,0.4,0.3”),我希望能够输出一个包含这些数字的累积和的双精度数组(例如 [0.3,0.7,1.0])。
到目前为止,我有
double[] probabilities = textBox_f.Text.Split(new char[]{','}).Select(s => double.Parse(s)).ToArray();
它以数组的形式给出数字,但不是数字的累积和。
有没有办法继续这个表达式来得到我想要的,或者我需要使用迭代从我已经拥有的数组中创建一个新数组?
【问题讨论】:
-
我喜欢学习新技术和做事方式。完全有可能其他方法更好或更快,但这是我不知道该怎么做,所以想
-
为什么?如果没有 LINQ 的解决方案可以更快地键入和,那么您为什么要对 LINQ 解决方案感兴趣?以及为什么特别是 LINQ ——为什么不询问使用泛型或
dynamic或任何其他不需要回答问题的随机特性的解决方案? -
Split(new char[]{','})可以等效地写成Split(','),因为参数是用params声明的。 -
老问题,但我必须发表评论。问题是你如何在 LINQ 中做到这一点,而不是你如何在没有 LINQ 的情况下做到这一点。
-
@simonalexander2005 我为你提出的问题鼓掌,但我想知道为什么你选择了 Blindy 的答案(目前)有 -3 分?这绝对不是一个好的答案。我个人更喜欢 Eric Lippert 或 Andrey 的答案。只是想知道您在将近 5 年后对这个问题的看法。
标签: c# arrays linq cumulative-sum