gpt4 book ai didi

c# - 使用扩展方法 ToList() 是否浪费资源?

转载 作者:行者123 更新时间:2023-12-02 22:33:06 24 4
gpt4 key购买 nike

我有一个关于 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>

最佳答案

Do the method Tolist<>() waste time or computer resources?

这取决于。如果您需要一个列表,那么它可能不会浪费。它确实需要时间和资源来构建列表。

Do it some iteration or loop across the IEnumerable psec to build a List<> ?

是的。它遍历可枚举对象并从其中的项目构建列表。

一般来说,如果您的目标只是枚举结果(即:在 foreach 循环中使用),则无需转换为 List<T>。通过ToList() ,这样做只是浪费。

关于c# - 使用扩展方法 ToList<T>() 是否浪费资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11890446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com