如何在Collection <t> </t>上使用ToList

时间:2011-08-29 21:26:02

标签: c# .net linq

MSDN documentation表示课程Collection<T>在扩展部分中有方法ToList()

我如何使用这种方法?

7 个答案:

答案 0 :(得分:5)

确保您引用System.Core.dll,并在C#文件的顶部添加using System.Linq;

您可以在documentation for ToList()

中看到这一点
Namespace:  System.Linq
Assembly:  System.Core (in System.Core.dll)

此外,由于声明是一种扩展方法(this IEnumerable<TSource> source),因此您必须使用using语句来引用它,因为它是在不同类型(Enumerable)上定义的。 / p>

答案 1 :(得分:5)

此文档有点误导。类型Collection<T>没有直接使用此方法。 Intstead它被定义为System.Linq.Enumerable上的扩展方法。为using添加System.Linq指令应解决问题

using System.Linq; 

...

Collection<T> col = ...;
List<T> list = col.ToList();

答案 2 :(得分:0)

您在其实例上调用ToList()

myCollection.ToList()

实施IEnumerable<T>的所有类型均可使用的扩展方法。

这需要您的cs文件中的using System.Linq,以及System.Core的引用,这些引用默认情况下会在当前版本的VS中添加,当定位.net 3.5或更高版本时。

答案 3 :(得分:0)

将其添加到文件的顶部。

using System.Linq;

答案 4 :(得分:0)

ToList方法是System.Linq命名空间中定义的扩展方法,因此要使用该方法,必须在System.Linq中包含using语句。一旦你这样做,它就像yourCollection.ToList()一样简单。

答案 5 :(得分:0)

ToList()是一种扩展方法。您是否导入并引用了正确的命名空间(System.Linq)?

答案 6 :(得分:0)

有时命令行项目中没有对System.Data.Linq的引用,因此即使添加using语句,也不会对项目进行智能感知或正确编译。即当你喜欢

Datacontext dc = new DataContext();
dc.Tablename.W

当你开始输入W时,你希望看到“哪里”,但你没有。添加对项目的引用可以解决这个问题。

在项目中打开“References”文件夹。查找对System.Data.Linq的引用。如果不存在,请右键单击References文件夹,选择“Add Reference ...”,然后单击.NET选项卡并查找System.Data.Linq,选择它并单击OK。一切都应该有效。

我使用Where作为例子,因为我总是发现它,但是ToList()等是相同的。