当前位置: 首页 > 编程语言 > C#

Array.CopyvsSkipandtakeinc#share

时间:2023-04-10 14:25:12 C#

Array.CopyvsSkipandtakeinc#:从现有数组中获取子数组我想知道为什么Skip和Take不是对数组的常量时间操作?相反,如果它们是常量时间操作,Skip和Take方法(最后不调用ToArray())是否具有相同的运行时间而没有执行Array.Copy的开销,并且空间效率更高?您必须区分Skip和Take方法完成的工作,以及使用这些方法返回的数据完成的工作。Skip和Take方法本身是O(1)操作,因为它们所做的工作不随输入大小缩放。他们只是设置了一个从数组中返回项目的枚举器。当您使用枚举器完成工作时。这是一个O(n)操作,其中n是枚举器生成的项目数。当枚举器从数组中读取时,它们不包含数据的副本,并且只要您使用枚举器,就必须保持数组中的数据完好无损。(如果对数组等索引不可访问的集合使用Skip,获取第一项是O(n)操作,其中n是跳过的项数。)以上是C#学习教程:Array.CopyvsSkip并取c#中分享的所有内容,如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: