我正在尝试对 DataTable 的 Columns 属性执行简单的 LINQ 查询:
from c in myDataTable.Columns.AsQueryable()
select c.ColumnName
但是,我得到的是:
找不到源类型“System.Linq.IQueryable”的查询模式的实现。未找到“选择”。考虑明确指定范围变量“c”的类型。
如何让 DataColumnCollection 与 LINQ 配合使用?
我正在尝试对 DataTable 的 Columns 属性执行简单的 LINQ 查询:
from c in myDataTable.Columns.AsQueryable()
select c.ColumnName
但是,我得到的是:
找不到源类型“System.Linq.IQueryable”的查询模式的实现。未找到“选择”。考虑明确指定范围变量“c”的类型。
如何让 DataColumnCollection 与 LINQ 配合使用?
怎么样:
var x = from c in dt.Columns.Cast<DataColumn>()
select c.ColumnName;
您还可以使用:
var x = from DataColumn c in myDataTable.Columns
select c.ColumnName
它将有效地执行与 Dave 的代码相同的操作:根据Enumerable.Cast<TResult> Method
MSDN 文章,“在查询表达式中,显式类型化的迭代变量转换为对 Cast(IEnumerable) 的调用”。
使用 Linq 方法语法:
var x = myDataTable.Columns.Cast<DataColumn>().Select(c => c.ColumnName);