C# 中的 Array.Copy 与 Skip 和 Take

2023-12-02

我正在浏览这个问题和一些类似的问题:

从现有数组中获取子数组

我在很多地方读过这样的答案:

从现有数组中获取子数组

我想知道为什么 Skip 和 Take 不是数组的恒定时间操作?

反过来,如果它们是恒定时间操作,那么 Skip 和 Take 方法(最后不调用 ToArray())是否会具有相同的运行时间,而无需执行 Array.Copy 的开销,而且空间效率更高?


你必须区分不同的工作Skip and Take方法所做的工作,以及使用方法返回的数据的工作。

The Skip and Take方法本身是 O(1) 操作,因为它们所做的工作不会随输入大小而缩放。他们只是设置了一个能够从数组返回项目的枚举器。

当您使用枚举器时,工作就完成了。这是一个 O(n) 操作,其中 n 是枚举器生成的项目数。当枚举器从数组中读取时,它们不包含数据的副本,并且只要使用枚举器,就必须保持数组中的数据完整。

(如果您使用Skip在无法通过索引访问的集合(如数组)上,获取第一项是 O(n) 操作,其中 n 是跳过的项数。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 中的 Array.Copy 与 Skip 和 Take 的相关文章

  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 如何计算特定字符在字符串中出现的次数

    我正在尝试创建一个函数来查看数组中的任何字符是否在字符串中 如果是 有多少个 我尝试计算每一种模式 但是太多了 我尝试使用 Python 中的 in 运算符的替代方案 但效果不佳 function calc fit element var
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • 尝试将 SQLite DB 从数据复制到 SD 卡

    我正在使用以下代码 该代码发布在 Stack Overflow 上的某个位置 并根据我的目的进行了修改 try File sd Environment getExternalStorageDirectory File data Enviro
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile

随机推荐

  • 处理 Swift 3 中的 Google 登录时遇到问题

    我是 iOS 新手 在 Swift 3 中处理应用程序委托 URL 时遇到问题 我真的可以使用一些指针 下面的代码在 Swift 2 3 中运行得非常好 func application application UIApplication
  • Python 子进程在接收 stdin EOF 时遇到神秘延迟

    我将应用程序中遇到的问题简化为以下测试用例 在此代码中 父进程同时生成 2 个 您可以生成更多 子进程 这些子进程通过 stdin 从父进程读取一条大消息 休眠 5 秒 然后写回一些内容 然而 某处发生了意外的等待 导致代码在 10 秒内完
  • PHP & MYSQL 动态下拉列表

    我一直在尝试创建一个带有动态下拉列表的表单 从 MYSQL 获取数据 我的数据库没问题 没有错误 第一类下拉菜单工作正常 但我想知道为什么我的第二个下拉菜单不起作用 我只是无法追踪代码中的任何错误 但这种情况正在发生 这是我的代码 动态下拉
  • 如何在一个正则表达式对象中使用多种模式?

    我写了一个脚本vba结合regular expressions解析company name phone and fax来自网页 当我运行脚本时 我可以完美地获取这些信息 然而 问题是我用过三种不同的expressions为了让它们成功 我创
  • 当所有参数似乎都已检查时,为什么审计参数检查会引发异常?

    鉴于以下方法定义 Meteor methods myMethod function foo Checking the only argument check foo String return true 方法很简单 但有时会失败 Meteo
  • 如何将数据从片段发送到活动[重复]

    这个问题在这里已经有答案了 在我的应用程序中 我的活动中有两个片段 在其中一个片段中 我有数据 例如 String name Transporter 我想将此名称发送到容器活动 我该怎么做 请帮我 该片段将附加到您从中启动的活动 因此 您可
  • 如何将流文件传递给执行Python脚本并使用属性和Nifi变量来存储该文件?

    我是 NiFi 和 Python 的新手 我需要您的帮助将流文件属性值传递给脚本 该脚本正在将嵌套的 json 转换为 csv 当我在本地运行该脚本时 它可以工作 如何将 FlowFile 名称传递给 src json 和 tgt csv
  • 为什么 Haskell 中不推断多态值?

    数字文字具有多态类型 Main gt t 3 3 Num t gt t 但是如果我将变量绑定到这样的文字 多态性就会丢失 x 3 Main gt t x x Integer 另一方面 如果我定义一个函数 它当然是多态的 f x 3 Main
  • 在网络表单中进行授权的最佳方式

    关于这个主题的每一项研究都展示了如何使用 MVC 来完成这项任务 我的项目是基于 MVP Webforms 的 我已完成身份验证 但是否有最好的授权模式或策略 例如 根据用户角色检查特定页面上的热链接 或者隐藏给定角色的 ASP 控件 目前
  • 从文本文件读取多个 JSON 对象

    我的问题与所问的类似here 几点 我无法更改格式 无需添加逗号等 这基本上是一个巨大的 txt 文件 包含 1000 个 Json 对象 我的 Json 对象非常大 这就是我现在正在做的事情 FileReader fileReader n
  • 将序列化器 geo_field 设置为另一个模型中的 PointField - Django

    我有两个模型 需要序列化Article作为 Geojson 通过设置geo field属性为point来自Location模型 按照给出的解决方案后here我收到错误 Got AttributeError when attempting t
  • 方向力布局中与图像重叠的链接

    在我的定向力布局中codepen我使用图标而不是圆圈 目前 链接与图像 图标重叠 我希望链接在图像之前结束 然而我看到d3noob 的例子链接在圆圈之后开始 结束 它不与圆圈重叠 我调整了以下返回语句 但无法正确修复它 function t
  • z-index 在 iframe 中的 pdf 浏览器中不起作用

    我不明白z index正在研究一个iframe其中包含 IE8 的 pdf 文件 它适用于谷歌浏览器 例子 JSFiddle HTML div div my text that should be on top div div div di
  • Android 选项卡视图 - 无法创建选项卡内容,因为找不到带有 id 的视图

    我正在尝试创建一个选项卡视图 并将通过 Id 切换到不同的内容视图 这是我的tab activity public class TabViews extends TabActivity Override protected void onC
  • Azure AADSTS900144:请求正文必须包含以下参数:“client_id”

    将该链接粘贴到 Web 浏览器以尝试登录我的 Azure 应用程序时出现以下错误 Microsoft Sign in Sorry but we re having trouble signing you in AADSTS900144 Th
  • CHM 的 hhc 文件转 html

    我创建了一个chm文件使用HTML Help workshop并且在 Windows 下运行良好 但是 那chm viewer用于Linux不太好 我不想用它Linux 我还被限制在 Linux 中使用任何其他查看器 于是我想到了反编译ch
  • org.springframework.web.client.RestClientException:无法提取响应:

    我正在创建一个restful API 它将使用来自服务器的json 但我遇到了以下异常 org springframework web client RestClientException 无法提取响应 找不到适合响应类型 Lexample
  • 如何获取 tf.dataset 中steps_per_epoch 的样本数量?

    我很好奇如何在 tf keras 中设置 steps per epoch 适合在 tf dataset 上进行训练 由于我需要示例数量来计算它 我想知道如何得到这个 由于它是 tf data 类型 您可以假设这更容易 如果我将steps p
  • 在实体框架中更新时排除属性

    我一直在寻找一种正确的方法来标记在 MVC 中更新模型时不更改的属性 例如 我们以这个小模型为例 class Model Key public Guid Id get set public Guid Token get set lots o
  • C# 中的 Array.Copy 与 Skip 和 Take

    我正在浏览这个问题和一些类似的问题 从现有数组中获取子数组 我在很多地方读过这样的答案 从现有数组中获取子数组 我想知道为什么 Skip 和 Take 不是数组的恒定时间操作 反过来 如果它们是恒定时间操作 那么 Skip 和 Take 方