2013-07-11 102 views
4
public static T[] ToArray<T>(IEnumerable<T> e) { 
    return e.ToArray(); 
} 

我得到以下编译器错误:为什么我不能在通用IEnumerable对象上调用ToArray?

Error 1 System.Collections.Generic.IEnumerable<T> does not contain a definition for ToArray and no extension method ToArray accepting a first argument of type System.Collections.Generic.IEnumerable<T> could be found (are you missing a using directive or an assembly reference?

MSDN reference列出了该方法。这里有什么问题?

+1

你是否缺少using指令? –

+3

您是否在文件中添加了“使用System.Linq;'命名空间? – Oded

+0

当我还没有使用任何linq时,我不小心通过使用“删除未使用的用法”来删除我的Linq引用。只是要留意一下。 – Gray

回答

15

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

using System.Linq; 

你还需要有一个装配参考System.Core(虽然这应该在Visual Studio项目中默认使用)。

相关问题