gpt4 book ai didi

c# - 筛选大量对象

转载 作者:行者123 更新时间:2023-11-30 21:06:55 25 4
gpt4 key购买 nike

我正在尝试从具有 142000 个对象的大型 IEnumerable 中检索名称列表。为了某些原因.. 该操作超时并留下不完整的名称列表。是在下面的代码中有更好更快的方法来完成我正在做的事情:

IEnumerable<MyClass> table = GetAll(); // Get All returns an IEnumerable<MyClass>

IEnumerable<string> allNames = new List<string>();
allNames = table.Where(r => listOfIds.Contains(r.id)).Select(r => r.name);

感谢任何帮助,

泰德

最佳答案

这应该更有效率:

List<String> allNames = (from id in listOfIds
join t in table on id equals t.id
select t.name).ToList();

Why is LINQ JOIN so much faster than linking with WHERE?

顺便说一下,Join 比上面的 Where 快 1262,有 142000 个对象和 50000 个 ID。

79 毫秒与 99705 毫秒

关于c# - 筛选大量对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10823742/

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