我正在尝试使用linq过滤数据集。它工作正常
问题:
但是我尝试从中获取列,它给了我异常
枚举尚未开始或已完成。
这是我的代码:
foreach (string columnName in SelectedItems)
{
var Rate = (from dr in ds.Tables[0].AsEnumerable()
where dr.Field<double>(columnName) > greater && dr.Field<double>(columnName) < less
select new
{
rate = dr.Field<double>(columnName)
}.rate).ToList();
if (Rate.Count > 50)
{
var avg = Rate.CheckRateValue();
}
i++;
}
我在网上搜索并找出dr.Field(columnName)必须单次使用的问题。所以我如何从选择新部分中滑动此代码后从linq查询中获取列。
答案 0 :(得分:0)
我不确定 是您的实际问题,但您可以尝试:
var rates = (from dr in ds.Tables[0].AsEnumerable()
let rate = dr.Field<double>(columnName)
where rate > greater && rate < less
select rate).ToList();