小编Ste*_*n_E的帖子

Linq查询语法与方法链:返回类型

在这里这里阅读,我理解查询语法和方法扩展几乎是一种语法差异.但现在,我有一个包含测量数据的数据结构,并希望确定百分位数.我写:

var ds = (from device in dataSet.devices
          where !device.paramValues[i].Equals(double.NaN)
          select device.paramValues[i]).OrderBy(val => val);
double median = percentile(ds as IOrderedEnumerable<double>, 0.5);
Run Code Online (Sandbox Code Playgroud)

一切正常.ds是类型的System.Linq.OrderedEnumerable<double,double>

令我困惑的是用查询语法编写整个内容:

var ds = (from device in dataSet.devices
          where !device.paramValues[i].Equals(double.NaN)
          orderby device.paramValues[i]
          select device.paramValues[i]);
double median = percentile(ds as IOrderedEnumerable<double>, 0.5);
Run Code Online (Sandbox Code Playgroud)

现在,ds是类型,System.Linq.Enumerable.WhereSelectEnumerableIterator<Dataset.DeviceData,double>并且对百分位函数的调用失败.

还不确定我在这里缺少什么... - 没有特别的理由为什么我更喜欢第二种语法,但我想了解其中的差异......感谢您的帮助!

c# linq

6
推荐指数
1
解决办法
238
查看次数

标签 统计

c# ×1

linq ×1