Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Mono内对System.Linq.Enumerable.Max的调用不明确_C#_Linq_Mono - Fatal编程技术网

C# Mono内对System.Linq.Enumerable.Max的调用不明确

C# Mono内对System.Linq.Enumerable.Max的调用不明确,c#,linq,mono,C#,Linq,Mono,使用lambda表达式从以下代码中查找最大键值时,在使用gmcs的Unix系统上进行编译时,我遇到以下编译错误: List<KeyValuePair<int, RunnerBase>> lsFinishOrder = new List<KeyValuePair<int, RunnerBase>>(); ...fill out List... iMaxPlace = lsFinishOrder.Max(p => p.Key); List

使用lambda表达式从以下代码中查找最大键值时,在使用gmcs的Unix系统上进行编译时,我遇到以下编译错误:

List<KeyValuePair<int, RunnerBase>> lsFinishOrder = new List<KeyValuePair<int, RunnerBase>>();

...fill out List...

iMaxPlace = lsFinishOrder.Max(p => p.Key);
List lsFinishOrder=new List();
…填写列表。。。
iMaxPlace=lsFinishOrder.Max(p=>p.Key);
这段代码在Windows机器上可以很好地编译,并且在执行时会像预期的那样执行。只有当我尝试在Linux上编译它时,问题才会出现

错误CS0121:以下方法或方法之间的调用不明确 特性: `System.Linq.Enumerable.Max(System.Collections.Generic.IEnumerable, System.Func)'

及 `System.Linq.Enumerable.Max(System.Collections.Generic.IEnumerable, System.Func)'

/usr/lib/mono/gac/System.Core/3.5.0.0_uub77a5c561934e089/System.Core.dll (与先前错误相关的符号位置)


任何想法都是受欢迎的,因为我已经尝试了很多不同的方法,我想知道我是不是找错了地方。我的windows版本的目标是.Net 3.5。

这看起来像是Mono编译器中的一个bug

请尝试以下帮助:

iMaxPlace = lsFinishOrder.Max((Func<KeyValuePair<int, RunnerBase>, int>)(p => p.Key));
iMaxPlace=lsFinishOrder.Max((Func)(p=>p.Key));

我清理了错误消息,使其更具可读性,并在似乎导致歧义的long和int周围插入了**。太棒了,我尝试了,Mono对此非常满意!非常感谢你的帮助!(很抱歉,当你点击enter it posts而不是移动到下一行时,我发表了2条评论)。