我查看了.NET Core源代碼,以便了解在收集實現IList
時,對IEnumerable.Last()
(LINQ)的調用是否得到優化,在我進行了一些快速基準測試之後,我懷疑是這種情況。然而,在此之前,檢查輸入是否實現了IPartition
。 IPartition
is defined here,但我完全不明白它應該做什麼。IP核在.NET核心中做什麼?
什麼是IPartition
的目的,以及它如何能比的IList
平時固定時間的索引更快(或者如果不是,爲什麼是輸入IPartition
檢查早於IList
)?
它似乎被像'Take'這樣的方法用來創建數據的一個子集。請記住,在使用'IQueryable'等完全加載數據之前,可以調用許多linq方法。檢查'IPartition'可能會允許一些鬼鬼祟祟的優化。 –