IEnumerable.Last()
(LINQ)への呼び出しがコレクションの実装時に最適化されているかどうかを調べるために、.NET Coreソースを調べました。IList
が素早くベンチマークした後であると思われました。しかし、それ以前であっても、入力がIPartition
を実装しているかどうかがチェックされます。IPartition
IPartition
is defined hereしかし、私はそれが何をすべきか全く理解していません。.NET CoreでIPartitionは何をしていますか?
何IPartition
の目的は、どのようにそれはおそらくIList
の通常一定時間のインデックスよりも速い(そうでない場合は、理由の入力がIList
よりも早くIPartition
のためにチェックされている)だろうか?
データのサブセットを作成するには、「Take」のようなメソッドで使用されているようです。 'IQueryable'などを使ってデータが完全にロードされる前に、多くのlinqメソッドを呼び出すことができます。 'IPartition'をチェックすると、いくつかの不正な最適化が可能になるかもしれません。 –