C# 无法将lambda表达式转换为类型';字符串';因为它不是委托类型
当我编写下一个LINQ查询时,错误显示在select:C# 无法将lambda表达式转换为类型';字符串';因为它不是委托类型,c#,.net,linq,C#,.net,Linq,当我编写下一个LINQ查询时,错误显示在select: DataTable dtbl = //... int count = (from p in dtbl select p.RecordID).Max(); 请帮帮我。试试这个 int count = dtbl.Max(p => p.RecordID); 编辑: 您不能在数据表上轻松使用Linq 请参阅:根据您的评论,dtbl是一个数据表,您可以执行以下操作: int count = dtbl.AsEnumerable().Max(r
DataTable dtbl = //...
int count = (from p in dtbl select p.RecordID).Max();
请帮帮我。试试这个
int count = dtbl.Max(p => p.RecordID);
编辑:
您不能在数据表
上轻松使用Linq
请参阅:根据您的评论,dtbl是一个数据表,您可以执行以下操作:
int count = dtbl.AsEnumerable().Max(r => r.Field<int>("RecordID"));
int count=dtbl.AsEnumerable().Max(r=>r.Field(“RecordID”);
您需要添加对System.Data.DataSetExtensions.dll的引用,并使用System.Data向源文件添加一个
指令。这不就是重写它吗:D?@the_Butcher:它是而且是better@The_Butcher-不,不是重写的。dtbl是一个数据表。当我添加此行时,它给出错误“'System.Data.DataTable'不包含'Max'的定义,并且找不到接受'System.Data.DataTable'类型的第一个参数的扩展方法'Max'(是否缺少using指令或程序集引用?)。请尝试dtbl.AsEnumerable().Max(p=>p.RecordID);