7
public static T[] ToArray<T>(IEnumerable<T> e) {
  return e.ToArray();
}

我收到以下编译器错误:

错误 1 System.Collections.Generic.IEnumerable<T>​​不包含定义,并且找不到接受第一个类型参数的ToArray扩展方法 (您是否缺少 using 指令或程序集引用?ToArraySystem.Collections.Generic.IEnumerable<T>

但是MSDN 参考列出了这种方法。这里有什么问题?

4

2 回答 2

24

假设您使用的是 .NET 3.5 或更高版本,您需要将using指令添加到代码文件的顶部:

using System.Linq;

您还需要有一个程序集引用System.Core(尽管 Visual Studio 项目默认情况下应该有)。

于 2013-07-11T20:01:57.743 回答
7

您在using System.Linq;文件顶部丢失了。

ToArrayIEnumerable<T>是作为LINQ (Language-Integrated Query)的一部分实现的扩展方法,因此您必须添加它才能使其工作。

于 2013-07-11T20:02:08.467 回答