我正在尝试使用 linq 过滤数据集。它工作正常
问题:
但我尝试从中获取专栏,它给了我那个异常(exception)
枚举尚未开始或已经完成。
这是我的代码:
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 查询中获取列。
最佳答案
我不确定那是您的实际问题,但您可以尝试:
var rates = (from dr in ds.Tables[0].AsEnumerable()
let rate = dr.Field<double>(columnName)
where rate > greater && rate < less
select rate).ToList();
关于c# - 尝试从数据集中获取列时出现异常 "Enumeration has either not started or has already finished",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10635091/