首页 文章

使用LINQ查询DataColumnCollection

提问于
浏览
61

我正在尝试在DataTable的Columns属性上执行简单的LINQ查询:

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

但是,我得到的是:

无法找到源类型“System.Linq.IQueryable”的查询模式的实现 . 找不到“选择” . 考虑明确指定范围变量'c'的类型 .

如何让DataColumnCollection与LINQ一起玩得开心?

3 回答

  • 12

    怎么样:

    var x = from c in dt.Columns.Cast<DataColumn>()
            select c.ColumnName;
    
  • 106

    你也可以使用:

    var x = from DataColumn c in myDataTable.Columns
            select c.ColumnName
    

    根据Enumerable.Cast<TResult> Method MSDN文章,它将有效地与Dave的代码相同:"in a query expression, an explicitly typed iteration variable translates to an invocation of Cast(IEnumerable)" .

  • 2

    使用Linq方法语法:

    var x = myDataTable.Columns.Cast<DataColumn>().Select(c => c.ColumnName);
    

相关问题