using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq; namespace ConsoleTest
{ class Program
{
class Test
{
public string Num = "";
} static void Main(string[] args)
{ List<Test> listTest = new List<Test>(); for (int i = ; i < ; i++)
{
listTest.Add(new Test { Num = i.ToString() });
}
int NumCount = ;
//foreach (var list in listTest)
//{
// NumCount++;
// if (listTest.Count < 20)
// {
// listTest.Add(new Test { Num = NumCount.ToString() });
// }
// Console.WriteLine(list.Num);
//}//报错
NumCount = ;
for (int i = ; i < listTest.Count; i++)
{
NumCount++;
if (listTest.Count < )
{
listTest.Add(new Test { Num = NumCount.ToString() });
}
Console.WriteLine(listTest[i].Num);
} Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("", "helo1");
dict.Add("", "helo2");
var keysList = new string[dict.Count];
dict.Keys.CopyTo(keysList, );
foreach (var key in keysList)
{
Console.WriteLine("key_ " + key.ToString() + ":" + dict[key]);
dict.Remove(key); // Response.Write("key" + key.ToString() + ":" + dict[key]);
}
Console.WriteLine("AfterRemoved!========================================="); foreach (var dic in dict)
{
Console.WriteLine(dic.Key, dic.Value);
}
Console.WriteLine("dic AfterShow!========================================="); Dictionary<int, string> dict2 = new Dictionary<int, string>();
dict2.Add(, "helo21");
dict2.Add(, "helo22");
var keysList2 = new int[dict2.Count];
dict2.Keys.CopyTo(keysList2, );
foreach (var key2 in keysList2)
{
Console.WriteLine("key_ " + key2.ToString() + ":" + dict2[key2]);
dict.Remove(key2.ToString()); // Response.Write("key" + key.ToString() + ":" + dict[key]);
}
Console.WriteLine("dict2 AfterRemoved!========================================="); foreach (var dic in dict)
{
Console.WriteLine(dic.Key, dic.Value);
} Console.ReadLine(); Console.Read(); }
}
}

[No000086]C#foreach集合被改变,报错处理方案的更多相关文章

  1. mybatis问题。foreach循环遍历数组报错情况,及其解决方法

    根据条件查询数据列表,mybatis查询代码如下 如果只查询属于特定部门拥有的数据权限.这需要用 String[ ] codes保存当前部门及其子部门的部门编码. 所以需要在mybatis中遍历编码数 ...

  2. java操作数组转list集合删除元素报错ConcurrentModificationException

    public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>( ...

  3. MyEclipse2014web工程项目直接复制不能访问报错处理方案

    在学习web servlet项目中,做一个项目时 , 完成到了某一阶段 实现了部分功能,有必要保存这一项目,当复制这个项目之后发现发布会报错或者不能访问. 其实复制项目主要是为了在以后的学习中如果能顺 ...

  4. 微信开发,对象转换为xml时候引用XStream这个类报错处理方案

    报错的信息为:The type org.xmlpull.v1.XmlPullParser cannot be resolved. /**  * 扩展XStream 支持CDATA  */ privat ...

  5. Foeach 时修改集合的值报错

    就是"集合已修改:可能无法执行枚举操作 foreach" 啥的, 不让我改 百度到Foreach是只读的,只供取值用,无法进行新增,修改,删除(仅引用,实际待验证) 解决办法:将F ...

  6. node js 调试出现同一个端口启动多次报错处理方案 Error: listen EADDRINUSE

    windows 下 1.查询端口占用的进程ID: netstat -aon | findstr "80"    80为端口号, 输出为: TCP    0.0.0.0:3000   ...

  7. MyBatis批量操作报错:Parameter 'xxxList' not found. Available parameters are [list]

    问题背景: 在Dao中使用MyBatis进行查询操作,参数是传的一个List:studentNameList,但是在执行查询的时候报错,具体日志如下: com.chenzhou.base.mybati ...

  8. vite 动态 import 引入打包报错解决方案

    关注公众号: 微信搜索 前端工具人 ; 收货更多的干货 原文链接: 自己掘金文章 https://juejin.cn/post/6951557699079569422/ 关注公众号: 微信搜索 前端工 ...

  9. day10-连接mysql虚拟机报错

    连接mysql时报:message from server: "Host '192.168.76.1' is not allowed to connect to this MySQL ser ...

随机推荐

  1. 如何在MFC界面开发中响应Button按钮的Down和Up事件

    通过尝试有两种方案可以解决这个问题,第一种方案是通过PreTranslateMessage函数在调度消息之前对消息类型进行筛选,第二种方案是重载CButton类,在重载后的类CForTestButto ...

  2. php实现设计模式之 迭代器模式

    <?php /*迭代器模式: 提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示.(行为模式) * 1.迭代器角色(Iterator):迭代器角色负责定义访问和遍历元素的 ...

  3. FilterDispatcher已被标注为过时解决办法 &gt;&gt;&gt; FilterDispatcher &lt;&lt;&lt; is deprecated!

    一些struts2的教程都是比较早的,当我们基于较新版本的struts2来实现代码的时候,往往会出现一些问题.比如这个警告:FilterDispatcher isdeprecated! 在web.xm ...

  4. 十二种获取Spring的上下文环境ApplicationContext的方法

    转载:https://my.oschina.net/u/2391658/blog/729414

  5. Maven学习随笔一——Maven安装报错处理(mvn -v, 提示不是内部命令的问题)

    今天心血来潮学习maven,可是光安装就花了个把小时,好坑有木有! 安装过程可百度,各种经贴,不详. 控制台输入  mvn -v ,如果报错,很可能是你的java/maven的环境变量配置出了点问题: ...

  6. 我和Ajax的故事

    我和Ajax结缘是在2015年的3月份,当时的项目需要Ajax技术来实现,但对于我来说完全是全新的名词,自己就上网上查找相关资料,结局很明显,知道概念但是具体的是什么东西根本傻傻不明白,后来这个技术是 ...

  7. 深入浅出node(1) Node简介

    这一系列主要是自己在学习深入浅出node.js这本书的学习笔试,部分加入了自己的一些理解 分享给一起学习node的小伙伴 自己还是个初学者 有很多地方理解的不到位 一起交流 一 什么是node 1.1 ...

  8. javascript中BOM部分基础知识总结

    一.什么是BOM      BOM(Browser Object Document)即浏览器对象模型.      BOM提供了独立于内容 而与浏览器窗口进行交互的对象:      由于BOM主要用于管 ...

  9. mvp+retrofit+rxjava

    引用 "retrofit" : "com.squareup.retrofit2:retrofit:2.0.1", "retrofit-adapter& ...

  10. Google C++单元测试框架GoogleTest---AdvancedGuide(译文)上

    本文是gtest高级测试指南的译文,由于文章太长,分上下两部分. 一.简介 本文档将向您展示更多的断言,以及如何构造复杂的失败消息,传播致命的故障,重用和加速您的测试夹具,并在您的测试使用各种标志. ...