フィルタ値に従ってソートされたオブジェクトのコレクションをフィルタリングするコードがいくつかあります。たとえば、。のオブジェクトを見つけたいと思います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メソッドなど)がある場合は、それを使用したいと思います。