C# Collection was modified;enumeration operation may not execute

一、问题描述

  在做 数组、列表、集合遍历时,可能我们会遇见这个问题。Collection was modified;enumeration operation may not execute ,翻译的中文意思:集合已修改;枚举操作可能无法执行。

二、解决方案

  就是在遍历时,不要改变正在遍历的集合即可,您可以先遍历完在对其进行操作。

三、案例

  出现问题前的代码如下,就是我在遍历 items 的同时,又往 items 中 add 数据。

public async Task<ListResultDto<RecordBookListDto>> GetFlatRecordBookItems(){var query = _recordBookRepository.GetAll();var entities = await query.ToListAsync();var items = new List<RecordBookListDto>();foreach (var entity in entities){var dto = entity.MapTo<RecordBookListDto>();items.Add(dto);}//todo 获取测点编号foreach (var item in items){if (!string.IsNullOrEmpty(item.DataId)){String[] array = item.DataId.Replace("[", "").Replace("]", "").Replace("\"", "").Split(',');foreach (var ar in array){var ins = _instrumentGroupRepository.Get(Guid.Parse(ar));var l = new RecordBookListDto();l.Id = Guid.Parse(ar);l.ParentId = item.Id.ToString();l.Name = ins.No;items.Add(l);}}}var listDto = new ListResultDto<RecordBookListDto>(items);return listDto;}

  修改完成后的代码:

public async Task<ListResultDto<RecordBookListDto>> GetFlatRecordBookItems(){var query = _recordBookRepository.GetAll();var entities = await query.ToListAsync();var items = new List<RecordBookListDto>();foreach (var entity in entities){var dto = entity.MapTo<RecordBookListDto>();items.Add(dto);}List<RecordBookListDto> newItems = new List<RecordBookListDto>();//todo 获取测点编号foreach (var item in items){if (!string.IsNullOrEmpty(item.DataId)){String[] array = item.DataId.Replace("[", "").Replace("]", "").Replace("\"", "").Split(',');foreach (var ar in array){var ins = _instrumentGroupRepository.Get(Guid.Parse(ar));var l = new RecordBookListDto();l.Id = Guid.Parse(ar);l.ParentId = item.Id.ToString();l.Name = ins.No;newItems.Add(l);}}}foreach (var item in newItems){items.Add(item);}var listDto = new ListResultDto<RecordBookListDto>(items);return listDto;

 

转载于:https://www.cnblogs.com/gzbit-zxx/p/10762215.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/536509.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xp系统安装金蝶k3服务器配置,XP单机版安装金蝶K3的13.1版本号,金蝶K3Wise安装步骤,安装成功...

要注意先安装IIS。再安装VS2008。我们会常常在控制面板里找不到“应用程序server”这个项目。我们须要依照以下的步骤来操作就会Ok。1.下载IIS6&#xff0c;放置到D盘根文件夹。2.在执行里输入&#xff1a;c:\Windows\inf\sysoc.inf即打开找到 [Components]段。加入&#xff1a…

通过django 执行命令或者脚本

1、执行django命令 下文的project1为project名&#xff0c;app1为app名 在django project 下执行&#xff1a;python manage.py shell # 可以在Python console里执行Python命令或者包含django的命令 > from app1.models import User > user User.objects.get(name"…

服务器kvm切换器维修,KVM切换器常见问题

数据中心在使用kvm开关的过程中有时会遇到一些使用问题。如果他们不能及时解决问题&#xff0c;就会影响数据中心的有效管理。小编辑总结了一些常见的问题并给出了详细的答案。我希望能帮助每一个人。经常问的问题和答案&#xff1a;i.用于初始连接的kvm转换器&#xff0c;kvm开…

Zulip 2.0.3 发布,功能强大的群组聊天软件

Zulip 2.0.3 发布了&#xff0c;Zulip 是一个强大的开源群组聊天软件。 用 Python 编写&#xff0c;使用 Django 框架&#xff0c;支持通过会话流的私人消息和群聊。Zulip 还支持快速搜索、拖放文件上传、图像预览、组私人消息、可听通知、错过电子邮件消息提醒&#xff0c;桌面…

ifix怎么装服务器系统上,ifix服务器和客户端配置

ifix服务器和客户端配置 内容精选换一换准备好服务端和客户端&#xff0c;根据组网规划完成物理服务器的物理组网。本文档中以3台客户端和3台TaiShan服务器作为服务端为例。本次部署流程中以3台客户端节点和3台TaiShan 200 服务器(型号2280)作为存储节点&#xff0c;网络包含前…

接口测试工具Postman(转)

接口测试工具Postman Postman是一款功能强大的HTTP调试与模拟插件&#xff0c;不仅可以调试简单的CSS、HTML、脚本等网页的基本信息&#xff0c;它还可以发送几乎所有类型的HTTP请求。Postman适用于不同的操作系统&#xff0c;Mac、WindowsX32、Windows X64、Linux系统等。本篇…

洛谷 P1372 又是毕业季I

可能所有的数论题都是这样玄学.... 题目链接&#xff1a;https://www.luogu.org/problemnew/show/P1372 这道题通过暴力的枚举可以发现是不可做的&#xff08;当然我也不会做&#xff09; 然后就有了这样一个思路&#xff1a; 这道题就是求&#xff1a;从1~n中取k个数&#xff…

查看游戏服务器ip地址网站,如何查看游戏服务器IP地址

如何尽量使网络游戏避免卡机呢&#xff1f;高带宽&#xff0c;短延时&#xff0c;丢包率这是大家都知道的&#xff0c;还有重要的一点大家容易忽视&#xff0c;卡机与选择的游戏分区有着密切的联系&#xff0c;选择合适的游戏服务器(南北电信运营商之分)最为重要。1、先选择一个…

SUN服务器清除所有报错信息,SUN服务器可能遇到的问题总结.doc

SUN服务器可能遇到的问题总结(一)1) Q&#xff1a;现在遇到这样一个问题&#xff0c;telnet一台SUN机时报下面的错误&#xff1a; No utmpx entry. You must exec "login" from the lowest level "shell".我做了下面的处理后&#xff1a; cd /var/adm mv u…

在线图表编辑工具 draw.io 10.6.5 版本发布

draw.io 10.6.5 版本已发布&#xff0c;draw.io 是一款在线图表编辑工具, 可以用来编辑工作流、BPM、org charts、UML、ER图、网络拓朴图等。 新版本更新内容如下&#xff1a; 修复 VSDX 导入的类型变体逻辑 &#xff08;style variation logic&#xff09; 同一天发布的 10.6.…

Node操作Mysql的简单例子

先装包 npm install mysql 简单的例子 var mysql require(mysql) //创建连接 var connection mysql.createConnection({host:localhost,user:root,password:08186912,database:idea //要连接的数据库名称 }); //连接数据库 connection.connect(); //执行操作 connection.quer…

用户态与内核态 文件流与文件描述符 简介【转】

转自&#xff1a;https://www.cnblogs.com/Jimmy1988/p/7479856.html 用户态和内核态 程序代码的依赖和调用关系如下图所示&#xff1a; Lib&#xff1a;标准ASCI C函数&#xff0c;几乎所有的平台都支持该库函数&#xff0c;因此依赖该库的程序可移植性好&#xff1b;System F…

趣图:当我捕获Bug的时候

2019独角兽企业重金招聘Python工程师标准>>> 趣图&#xff1a;当我以为已捕获了所有可能的异常...的时候 趣图&#xff1a;程序员调 Bug 的感觉&#xff0c;就是这样的 转载于:https://my.oschina.net/javafirst/blog/3042724

PowerDesigner15连接Oracle数据库并导出Oracle的表结构

PowerDesigner连接Oracle数据库&#xff0c;根据建立的数据源进行E-R图生成。详细步骤如下&#xff1a; 1、启动PowerDesigner 2、菜单:File->Reverse Engineer ->Database 出来New Physical Data Model对话框,DBMS选择ORACLE Version 10g 选项&#xff0c;其他可以选择默…

2019年春季学期第九周作业

AQ这个作业属于那个课程C语言程序设计II这个作业要求在哪里2019春第九周作业我在这个课程的目标是了解并且应用结构体和数组的知识这个作业在那个具体方面帮助我实现目标掌握了数组的简单编程及应用&#xff0c;了解了结构体参考文献C语言chap3和C语言chap9一、本周完成的作业 …

有源光缆AOC在40G网络布线中备受欢迎的主要原因

现在很多数据中心已经在部署40G网络&#xff0c;在40G网络传输方案中会需要用到40G QSFP光模块、40G高速线缆和40G有源光缆等产品&#xff0c;现如今用较多的是40G有源光缆&#xff0c;而40G高速线缆具有绝对的成本优势&#xff0c;市场对高速线缆的需求量也是有增无减&#xf…

前端大框架知识归纳与总结

转载于:https://juejin.im/post/5cc447ec6fb9a0324c20c412

accept和select的区别

2019独角兽企业重金招聘Python工程师标准>>> 参考&#xff1a;https://blog.csdn.net/lsgqjh/article/details/65629609 select&#xff1a;查看指定fd_set中socket状态&#xff0c;如果fd_set中有套接字准备就绪&#xff08;触发&#xff08;读、写或执行&#xff…

【肥朝】看源码,我为什么推荐IDEA?

本文并不评论Eclipse与IDEA孰好孰坏,但是由于肥朝平时都是使用IDEA开发的,所以推荐IDEA.这个和肥朝平时都是吃粤菜,所以推荐的都是粤菜为主,但是并不是说其他菜不好吃,肥朝不挑食! 1.条件断点 看源码的时候,经常遇到这个情况,源码中有个for循环,关键是这个list的size有时候长达…

【技术干货+限时活动】openstack原理及在华为云中的应用

五一小假提前放送&#xff0c;实力干货课程&#xff0c;讲清openstack原理及在华为云中的应用&#xff0c;一门路过别错过的课程&#xff01;免费学习参加限时活动&#xff0c;评论课程&#xff0c;智能音响体脂秤领回家&#xff01;快戳&#xff1a;http://u6.gg/sxHV5转载于:…