C#Take operator

时间:2016-07-30 10:43:58

标签: c# .net linq

给出以下声明

int[] numbers = { 0, 1, 2, 3 };

我注意到.NET 4.6.1上的VS 2015允许以下内容采用前三个数字

IEnumerable<int> firstThree = System.Linq.Enumerable.Take(numbers, 3);

但是,它不允许以下

IEnumerable<int> firstThree = numbers.Take(3);

我是C#的新手,无法理解调用未解析为扩展方法的原因。

2 个答案:

答案 0 :(得分:5)

Take是一种扩展方法,您可以在命名空间 System.Linq下找到。

您只需在文件中包含该命名空间:

using System.Linq;

然后您就可以使用扩展方法了。

答案 1 :(得分:3)

您是否错过了添加

using System.Linq;