输入`System.Collections.Generic.IEnumerable'不包含成员`Aggregate'和最好的扩展方法重载

时间:2016-10-29 19:07:07

标签: c# .net linq const

有人可以帮我弄明白我做错了吗

private const long _divisor = // 10^9 - 7
        Enumerable.Repeat(10, 9).Aggregate(1, (p, i) => p * i) - 7;

...

获取错误

  

输入System.Collections.Generic.IEnumerable' does not contain a member汇总'和最好的扩展方法重载   `System.Linq.Enumerable.Aggregate(此   System.Collections.Generic.IEnumerable,int,System.Func)'有一些   参数无效!匿名方法和lambda表达式不能   在当前背景下使用

我觉得我正好遵循文档https://msdn.microsoft.com/en-us/library/bb549218(v=vs.110).aspx

1 个答案:

答案 0 :(得分:3)

  

lambda表达式不能在当前上下文中使用

您在非原始值上指定const,编译器不会允许它。

删除const说明符或放置原始值。

private const long _divisor =  (long)(10e9 - 7); // Or just write 9999999993 instead