您必须区分Skip和Take方法所做的工作,以及消耗方法返回的数据的工作.
该Skip和Take方法本身是O(1)操作,因为他们做的工作不会与输入大小规模.他们只是设置了一个能够从数组中返回项目的枚举器.
当您使用枚举器完成工作时.这是一个O(n)操作,其中n是枚举器产生的项目数.当枚举器从数组中读取时,它们不包含数据的副本,只要您使用枚举器,就必须保持数组中的数据不变.
(如果您使用Skip索引无法访问的集合,如数组,则获取第一个项目是O(n)操作,其中n是跳过的项目数.)