无法将 lambda 表达式转换为类型 'string',因为它不是委托类型。

6

当我编写下一个LINQ查询时,在选择(select)处显示了错误:

DataTable dtbl = //...
int count = (from p in dtbl select p.RecordID).Max();

please help me out.

2个回答

3

这不就是重写它吗 :D? - The_Butcher
@The_Butcher:它是,而且更好。 - abatishchev
@The_Butcher - 不是重写,而是修正意图。 - Daniel A. White
dtbl是一个数据表。当我添加这行代码时,它会报错:“'System.Data.DataTable'不包含'Max'的定义,也没有接受类型为'System.Data.DataTable'的第一个参数的扩展方法'Max'可以找到(您是否缺少使用指令或程序集引用?)”。 - hari
尝试使用 dtbl.AsEnumerable().Max(p => p.RecordID); - Øyvind Bråthen
这个链接很有帮助,但我已经做了一些重新工作,非常感谢。 - hari

0
根据您的评论,dtbl是一个DataTable,您可以这样做:
int count = dtbl.AsEnumerable().Max(r => r.Field<int>("RecordID"));

您需要添加对 System.Data.DataSetExtensions.dll 的引用,并在源文件中添加 using System.Data 指令。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接