我正在尝试使用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();

09-30 22:57
查看更多