C# 如何解决以下错误:无法从';int';至';System.Collections.Generic.IEnumerable<;int>;?
我正在试验jstree,并使用mvc项目填充该树 到目前为止,它工作得很好,但现在我决定将一个属性从string转换为int 我这样做是因为im changing属性是一个ID属性,我想从我拥有的列表中获取最高的ID,并用一个来递增它 代码: 到目前为止,我的谷歌搜索结果给了我一些尝试,使用firstorDeafut,我发现应该将IEnumerable转换为int,但遗憾的是,这不起作用。我尝试过其他几种方案,但都没有效果 我可以诚实地说,我真的不明白这里的问题是什么,所以如果有人有一个答案,我也会非常感谢你的解释C# 如何解决以下错误:无法从';int';至';System.Collections.Generic.IEnumerable<;int>;?,c#,linq,asp.net-mvc-4,linq-to-objects,C#,Linq,Asp.net Mvc 4,Linq To Objects,我正在试验jstree,并使用mvc项目填充该树 到目前为止,它工作得很好,但现在我决定将一个属性从string转换为int 我这样做是因为im changing属性是一个ID属性,我想从我拥有的列表中获取最高的ID,并用一个来递增它 代码: 到目前为止,我的谷歌搜索结果给了我一些尝试,使用firstorDeafut,我发现应该将IEnumerable转换为int,但遗憾的是,这不起作用。我尝试过其他几种方案,但都没有效果 我可以诚实地说,我真的不明白这里的问题是什么,所以如果有人有一个答案,我
谢谢 您必须这样做才能获得最大id:
var NewId = Nodes.Max(x => x.Id) +1;
有关更多详细信息和了解,请参阅:
此声明(如果有效)
将返回一个IEnumerable
,而不是一个Int
。替换为:
Nodes.Select(x => x.Id).Max()
此外,您的字段Id
将包含一个值
,因此对其应用Max
是错误的
您的代码应该是:
var NewId = Nodes.Select(x => x.Id).Max() + 1;
非常感谢!我还在学习linq,所以尝试和错误已经开始了。真遗憾,我花了2个小时的研究,终于发布了。@Ra3IDeN,不客气:)。别担心,这种事在我们大多数人身上都发生过。
var NewId = Nodes.Max(x => x.Id) +1;
Nodes.Select(x => x.Id.Max())
Nodes.Select(x => x.Id).Max()
var NewId = Nodes.Select(x => x.Id).Max() + 1;