【发布时间】:2012-08-09 19:18:02
【问题描述】:
我有一个关于 LINQ、IEnumerable<> 和 List<> 的问题。
当我有一个List<T> 并想要过滤或搜索它时,我会像这样使用 LINQ:
var psec = from p in MyListOfSomeObjects
where ((p.Tipo == tipo) || (p.Tipo == null))
select p;
但在一种特殊情况下,我需要一个实际的 List<T>,而不是 LINQ 查询返回的 IEnumerable<T>。
我可以使用psec.ToList<T>() 来获取我的List<T>,但我的问题是:
ToList<T>() 方法是否浪费时间或计算机资源?它是否在IEnumerable<T> 上进行一些迭代或循环以构建List<T>?
【问题讨论】: