我有一些代码可以根据过滤器值过滤排序对象的集合。例如,我想找到Name=="searchquery"
. 然后我想从该集合中获取前 X 值。
我的问题:
我的收藏是一个
List<T>
。此集合是否保证排序顺序?如果是这样,是否有内置方法可以找到满足条件的前 X 个对象?我正在寻找类似的东西
collection.FindAll(o=>o.Name=="searchquery",100);
这会给我满足条件的前 100 个对象。原因是性能,一旦我找到了 100 个对象,我不想继续检查整个集合。
如果我写:
collection.FindAll(o=>o.Name=="searchquery").Take(100);
运行时是否足够智能以在达到 100 时停止检查?
我当然可以自己实现它,但如果有内置方法(如 LInQ 方法),我更愿意使用它。