我正在尝试使用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)必须使用一次。
最佳答案
我不确定这是否是您的实际问题,但是您可以尝试:
var rates = (from dr in ds.Tables[0].AsEnumerable()
let rate = dr.Field<double>(columnName)
where rate > greater && rate < less
select rate).ToList();