代码之家  ›  专栏  ›  技术社区  ›  David Brown Muad'Dib

使用LINQ查询DataColumnCollection

  •  84
  • David Brown Muad'Dib  · 技术社区  · 17 年前

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

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

    然而,我得到的是:

    找不到源类型“System”的查询模式的实现。林克。“令人不安”。未找到“Select”。考虑显式指定范围变量“c”的类型。

    如何让DataColumnCollection与LINQ配合使用?

    3 回复  |  直到 17 年前
        1
  •  108
  •   Dave Markle    17 年前

    怎么样:

    var x = from c in dt.Columns.Cast<DataColumn>()
            select c.ColumnName;
    
        2
  •  12
  •   Cobra    13 年前

    使用Linq方法语法:

    var x = myDataTable.Columns.Cast<DataColumn>().Select(c => c.ColumnName);
    
        3
  •  2
  •   MarkusE    7 年前

    您还可以使用:

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

    它将有效地执行与Dave的代码相同的操作:根据 Enumerable.Cast<TResult> Method MSDN文章。