访问EnumerableRowCollection

时间:2013-12-09 16:27:32

标签: c# linq

我无法访问此查询中的项目:

var elem = from e in myDataTable.AsEnumerable()
           where e.Field<string>("price") == "-1" && 
                 e.Field<string>("val") == "-1"
           select e;

它返回EnumerableRowCollection,我如何访问这些值?或复制到另一个dataTable?

2 个答案:

答案 0 :(得分:3)

使用foreach循环,或致电CopyToDataTable()

如果您只想要序列中的第一项,您也可以拨打First()FirstOrDefault()

答案 1 :(得分:0)

尝试在结尾添加.ToList()以执行LINQ语句并获取结果(DataRows列表):

var elem = (from e in myDataTable.AsEnumerable()
            where e.Field<string>("price") == "-1"
                  && e.Field<string>("val") == "-1"
            select e).ToList();

然后你可以使用循环迭代结果。