gpt4 book ai didi

c# - 在 C# 中快速检索大型集合中使用的属性子集

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

我有一个巨大的对象集合(我可以使用 OfType<>() 将其转换为可枚举对象)。这些对象中的每一个都有一个 Category属性,它是从应用程序其他地方的列表中提取的。这个 Collection 可以达到数百个项目的大小,但实际上可能只使用了 6/30 的可能类别。找到这 6 个类别的最快方法是什么?庞大的 Collection 的大小阻碍了我遍历整个事物并返回所有唯一值,那么有没有更快的方法来完成这个?

理想情况下,我会将类别收集到 List<string> 中.

最佳答案

如果您使用的是 .NET 3.5,那么试试这个:

List<string> categories = collection
.Cast<Foo>()
.Select(foo => foo.Category)
.Distinct()
.ToList();

应该很快。

我假设这些对象最初来自数据库?如果是这样,那么您可能希望让数据库为您完成这项工作。如果该列上有索引,那么您几乎可以立即获得结果,而无需将对象提取到内存中。

关于c# - 在 C# 中快速检索大型集合中使用的属性子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2738155/

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