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