用LINQ查询DataColumnCollection

我试图在DataTable的Columns属性上执行一个简单的LINQ查询:

from c in myDataTable.Columns.AsQueryable() select c.ColumnName 

但是,我得到的是这样的:

找不到源types“System.Linq.IQueryable”的查询模式的实现。 “select”未find。 考虑明确指定范围variables“c”的types。

我怎样才能让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的代码相同的操作:“在查询expression式中,根据Enumerable.Cast<TResult> Method MSDN文章,显式types的迭代variables转换为Cast(IEnumerable)的调用”。

Interesting Posts