Avatar ·

在C#中对DataTable执行LINQ查询:如何进行数据筛选?

大家好!我是一名初学C#的开发者,使用.NET Framework 3.5。我有一个从数据库填充的DataTable。我需要根据特定条件筛选行,例如,查找所有年龄大于30岁的员工。 问题在于DataTable不直接支持LINQ。当我尝试编写类似这样的代码: ```csharp DataTable dt = GetEmployeesTable(); var result = from row in dt where row["Age"] > 30 select row; ``` 编译器会报错:“Could not find an implementation of the query pattern for source type 'System.Data.DataTable'。”我明白DataTable不是对象集合,而是包含行和列的表。但如何应用LINQ呢? 我听说过AsEnumerable()方法,但不确定如何正确使用。另外,我感兴趣的是,筛选后能否将结果转换回DataTable?以及如何访问列——按名称还是按索引? 感谢详细解答!