【发布时间】:2010-04-29 14:34:08
【问题描述】:
我有一个庞大的对象集合(我可以使用 OfType() 将其转换为可枚举)。这些对象中的每一个都有一个Category 属性,该属性是从应用程序中其他位置的列表中提取的。此集合可以达到数百个项目的大小,但可能只有 6/30 的可能类别被实际使用。找到这 6 个类别的最快方法是什么?巨大的 Collection 的大小使我无法只遍历整个事物并返回所有唯一值,那么是否有更快的方法来完成此操作?
理想情况下,我会将类别收集到List<string>。
【问题讨论】:
-
几百?我会将具有“数百个”项目的内存集合分类为 tiny,而不是 huge。我会将一个包含几十万个项目的内存集合分类为 huge。
-
我猜从内存对象本身的代码角度来看,1600 多个项目可能看起来并不那么大。但我可能有点害怕,因为这些文件每个都指 1-4MB 的文件,所以从那个角度看它看起来很大。但要引用类别,我不需要检索文件。
标签: c# collections performance subset