使用 IEnumerable 检测修改

2023-12-07

我有一个问题,令我惊讶的是还没有以这种格式提出。

如果我有一个基于迭代数据源(并使用yield return语句)生成的IEnumerable,我如何检测在通过通过生成的枚举器进行访问后何时对源进行了修改GetEnumerator 调用?

这是奇怪的部分:我不是多线程的。我认为我的问题在某个地方有缺陷,因为这应该很简单。 。 。我只想知道源何时发生更改并且迭代器已过时。

太感谢了。


您需要自己处理创建枚举器才能跟踪此信息,或者至少使用yield return;使用您自己的修改跟踪类型。

例如,大多数框架集合类都保留“版本”号。当他们创建枚举器时,他们会保留该版本号的快照,并在MoveNext()。您可以在致电之前进行相同的检查yield return XXX;

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

使用 IEnumerable 检测修改 的相关文章

  • 异步提交或回滚事务范围

    正如许多人所知 TransactionScope当async await Net 中引入了模式 如果我们尝试使用一些它们就会损坏await在事务范围内调用 现在这个问题已经解决了 感谢范围构造函数选项 a 17527759 1178314
  • Qt:更改 Mac OS X 上的应用程序 QMenuBar 内容

    我的应用程序对多个 页面 使用 QTabWidget 其中顶级菜单根据用户所在的页面而变化 我的问题是 尝试重新创建菜单栏的内容会导致严重的显示问题 它在除 Mac OS X 之外的所有平台上按预期使用第一种和第三种样式 尚未测试第二种 但
  • 获取枚举实例的名称[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 假设我有这个枚举 public enum MyEnum ValueOne 1 ValueTwo 2 ValueThree 3 然后
  • 尽管 if 语句,Visual Studio 仍尝试包含 Linux 标头

    我正在尝试创建一个强大的头文件 无需更改即可在 Windows 和 Linux 上进行编译 为此 我的包含内容中有一个 if 语句 如下所示 if defined WINDOWS include
  • 当假设 [[assume]] 包含 UB 时会发生什么?

    在 C 23 中 assume expression 属性使得如果表达 is false 行为未定义 例如 int div int x int y assume y 1 return x y 这会编译成相同的代码 就像y一直是1 div i
  • esp8266互联网交换机问题

    我正在尝试制作一个门继电器开关系统 我可以通过端口转发从任何地方进行操作 我找到了一个非常有用的指南和代码 我的程序基于 https openhomeautomation net control a lamp remotely using
  • QFileDialog::getOpenFileName 调试时崩溃,显然是由项目名称引起的?

    我遇到了一个让我非常困惑的问题 我在 Windows 7 上使用 Qt Creator 3 1 2 和 Qt 5 3 使用 MSVC 10 0 编译器和 Windows 8 1 调试工具中的 CDB 不确定我是否应该寻找特定于 Window
  • 如何在C#中使用默认浏览器打开带有锚点(#)的html文件

    我正在尝试在 C 中打开上下文帮助文件 当我没有指定锚点时 它工作得很好 Process Start C Help Help htm 但是当我指定锚点时 它不会打开 Process Start C Help Help htm Toc3420
  • 确定所选电子邮件是来自收件箱还是已发送邮件

    我正在编程Outlook 插件并需要确定所选电子邮件是否来自Inbox or Sent Items这样当我将电子邮件保存到数据库中时 我可以使用文件夹 收件箱 或 已发送 来标记电子邮件 我知道我可以将文件夹名称与 收件箱 或 已发送邮件
  • 以编程方式打开网页并以字符串形式检索其 html 包含内容

    我有一个 Facebook 帐户 我想提取我朋友的照片及其个人详细信息 例如 出生日期 就读学校 等 我能够提取我每个朋友帐户的 Facebook 首页的地址 但我不知道如何以编程方式打开我每个朋友首页的网页并将 html 包含保存为字符串
  • 我们还需要迭代器设计模式吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • C# 从字符串变量中获取类型并在泛型方法中使用它

    我希望能够通过某种方式 即从数据库 获取我收到的字符串值的实际类型 这样我就可以在通用方法中使用该类型 例如DoSomething
  • MSVC如何在编译期间输出一些内容到“输出”窗口

    有时我看到某些项目在编译期间向输出写入一些内容 在MSVC 中如何实现 thanks use pragma message e g define MESSAGE t message FILE STRINGXXX LINE t define
  • 是否可以在 ASP.NET Web API 和 SPA 中使用基于 cookie 的身份验证?

    我想创建基于 angularjs 前端和 ASP NET Web API 的 Web 应用程序 我需要创建安全 api 但我无法在将实施此 Web 应用程序的公司服务器上使用基于令牌的身份验证 是否可以对 SPA 和 ASP NET Web
  • Windows 中的蓝牙 AVRCP 命令会触发哪些事件

    可以这么说 只是在做一些高级侦察 对于我的潘多拉客户 Elpis http elpis adamhaile net 我支持全局媒体键 键盘上的 MediaPlayPause MediaNext 等 并且我希望能够支持AVRCP http e
  • 并排显示图像的一半 - OpenGL

    我为两个图像创建了两个纹理 现在我想在opengl中按图像2的左侧部分 完整的图像1 图像2的右侧部分的顺序显示该纹理 我已经做了如下 Image1 显示在 opengl 屏幕的中央 但屏幕的左右部分不正确 应分别显示 image2 的左侧
  • 如何获取 (Linux) 机器的 IP 地址?

    这个问题和之前问的几乎一样如何获取本地计算机的IP地址 https stackoverflow com questions 122208 get the ip address of local computer 问题 但是我需要找到一个的I
  • 为什么删除void*是UB而不是编译错误?

    为什么要通过删除对象void 是未定义的行为 而不是编译错误 void foo void p delete p 这段代码编译并生成代码 尽管有关于 gcc 和 clang 的警告 令人惊讶的是 ICC 没有给出警告 2 5 warning
  • printf 右对齐括号内的数字

    我正在编写一个程序 显示数组中的所有信息 它必须以括号中的数组索引开头 例如 2 并且它们必须彼此正确对齐 如果只是数字 我知道你可以这样做 printf 10d index 但是用括号括起来会得到以下输出 1 2 10 11 当我真正希望
  • C++ 中带逗号的表达式的执行顺序 [重复]

    这个问题在这里已经有答案了 我的理解是这个词j i将在之前执行 i在声明中 j i i C 标准是否保证j i将在之前执行 i在循环 for auto i std next begin j begin i end j i i 逗号运算符引入

随机推荐

  • 堆空间内存不足

    我的应用程序当前消耗大量内存 因为它正在运行物理模拟 问题是 在第 51 次模拟时 Java 通常会因为堆空间内存不足而抛出错误 我的程序最终运行了数千次模拟 无论如何 我不仅可以增加堆空间 还可以修改我的程序 以便每次运行后都会清除堆空间
  • 在 Bash 中将多个文本文件连接成一个文件

    将目录中的所有 txt 文件合并为一个大文本文件的最快 最实用的方法是什么 目前我正在使用带有 cygwin 的 Windows 因此我可以访问 BASH Windows shell 命令也不错 但我怀疑是否有这样一个命令 这会将输出附加到
  • strftime 不返回缩写时区

    谁能告诉我为什么时区返回为 山区夏令时间 而不是 MST import time print time strftime H M A Z d b y 根据您提出的另一个问题 我猜测您正在使用 Windows 在 Windows 上 strf
  • 如何在map-reduce中读取多个图像文件作为hdfs的输入?

    private static String testFiles new String img01 JPG img02 JPG img03 JPG img04 JPG img06 JPG img07 JPG img05 JPG private
  • 快速从文档目录获取图像

    假设我使用此代码将图像保存到文档目录 let nsDocumentDirectory NSSearchPathDirectory DocumentDirectory let nsUserDomainMask NSSearchPathDoma
  • 通过 Github API 从 Github 存储库获取所有文件名

    是否可以使用 GitHub API 从存储库获取所有文件名 我目前正在尝试使用这个来修补这个PyGithub 但只要它有效 我完全可以手动执行请求 到目前为止我的算法是 获取用户存储库名称 获取符合特定描述的用户仓库 获取存储库文件名 您可
  • 为什么会出现这个 PHP 错误:“严格标准:mysqli::next_result():没有下一个结果集。”?

    我有代码 它基本上是一个副本php net的代码 但由于某种原因它不起作用 这是 php net 上的代码
  • MySQL 多表查询

    Table UserInfoTbl username type user0001 premium user0002 premium user0003 normal user0004 premium Table UserPvTbl usern
  • 如何使用Python计算这个CRC?

    我需要使用 Python 计算此 CRC 以便与 Aurora ABB 太阳能逆变器进行通信 这是文件 http www drhack it images PDF AuroraCommunicationProtocol 4 2 pdf在最后
  • 与 Blackberry 捆绑图像

    如何使用 BlackBerry Eclipse Plugin 1 1 Beta 获取捆绑图像 我将图像复制到 res background jpg 中并尝试使用加载它Bitmap getBitmapResource在背景 jpg 上 不幸的
  • onNewIntent() 未在 ReactContextBaseJavaModule (react-native) 上调用

    我正在构建一个反应本机模块 从我的模块中我发送一个像这样的 PendingIntent Intent postAuthorizationIntent new Intent com example HANDLE AUTHORIZATION R
  • 在jquery中查找当前可见的div

    我已经准备好了四个 divdisplay none在 document ready 上 我显示第一个 div 我有 4 个链接按钮 link1 link2 link4 我在 link1 单击上显示 div1 等等 如何查找当前在 jquer
  • python 中的 st_make_grid 方法等效

    有没有相当于非常好的st make grid的方法sf来自 r spatial 的包在Python中 该方法在多边形的边界框上创建矩形网格几何体 我想做与中提出的解决方案完全相同的事情this问题 例如将一个多边形分成若干个面积相同的正方形
  • 安装 Mac 版 Github 后从命令行使用 git

    我安装了 Mac 版 Github 它工作正常 但我无法从终端运行 git 命令 我还需要安装另一个 git 吗 或者我是否必须在 Mac 版 Github 中启用某些选项 从 2013 年 5 月开始 从 GitHub for Mac 安
  • 高性能 jpeglib-turbo 实现可以在 <100ms 内解压缩/压缩吗?

    我目前正在使用 C 实现 jpeg resizerjpeglib turbo图书馆 我的目标是使用该库进行 JPEG 解压缩和重新压缩 100 毫秒 使用推荐的优化设置 记录在 jpeglib turbo use txt 中 我能想到的最好
  • Python-替换小写字母

    gt gt gt import string gt gt gt word hello gt gt gt word2 word replace string lowercase gt gt gt print word2 hello 我只是希望
  • 基于 Firebase firestore 时间戳的安全规则

    在我的客户端 我正在创建一个包含 createdDate 字段之一的文档 下面是来自 firestore 模拟器的有效负载 name databases default documents billing aaaa data created
  • 使用 JQuery 通过 Ajax 以 Json 格式发送 Post 表单数据

    正如标题所示 我正在通过 ajax 发送一些帖子数据 但我不断收到错误 任何人都可以看一下代码并解释为什么我的 ajax 调用不断失败吗 submitForm jQuery priceCalc name thingdoto value tr
  • 如何使 Web 服务请求遵循重定向?

    我的应用程序需要访问第三方 Web 服务 最近 他们引入了负载均衡器 可以重定向到服务器 因此 Web 服务会收到 302 重定向错误作为响应 在 SOAPUI 中 我能够启用一个名为 Follow Redirect 的属性 因为该服务遵循
  • 使用 IEnumerable 检测修改

    我有一个问题 令我惊讶的是还没有以这种格式提出 如果我有一个基于迭代数据源 并使用yield return语句 生成的IEnumerable 我如何检测在通过通过生成的枚举器进行访问后何时对源进行了修改GetEnumerator 调用 这是