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. 转载:《TypeScript 中文入门教程》 14、输入.d.ts文件

    版权 文章转载自:https://github.com/zhongsp 建议您直接跳转到上面的网址查看最新版本. 介绍 当使用外部JavaScript库或新的宿主API时,你需要一个声明文件(.d.t ...

  2. Java--volatile关键字的作用与用法

    volatile 关键字作用是,使系统中所有线程对该关键字修饰的变量共享可见,可以禁止线程的工作内存对volatile修饰的变量进行缓存. volatile 2个使用场景: 1.可见性:Java提供了 ...

  3. Mac下如何查看Tomcat的版本?

    Tomcat提供了一个查询自身版本号的方法,要查询Tomcat的版本号,必须知道Tomcat所在的准确目录. 例如: 所用的Tomcat所在的目录下的bin文件夹的完整路径为:/Library/Tom ...

  4. node-inspector调试工具应用

    一.起因 想调试某些开源的nodejs项目,然后就选择了node-inspector插件. 他的优点: 1.可以借用chrome或firefox浏览器进行调试,与前端调试融合. 2.配置简单 二.必备 ...

  5. jquery在线五子棋

    在线五子棋试玩地址:http://keleyi.com/game/12/ 以下是完整代码,保存到html文件打开也可以玩: <!DOCTYPE html> <html> < ...

  6. 像素与rem转换

    // rem尺寸转换函数开始(function (doc, win) {    var docEl = doc.documentElement,        resizeEvt = 'orienta ...

  7. [deviceone开发]-日程日历示例

    一.简介 用户Wang利用Gridview和其它组件绘制的日历和任务,基本实现一个完整的在线日程管理功能.另外还封装了很多js对象,非常值得参考学习.二.效果图 三.相关下载 https://gith ...

  8. [转载]Javascript异步编程的4种方法

    NodeJs的最大特性就是"异步" 目前在NodeJs里实现异步的方法中,使用“回调”是最常见的. 其实还有其他4种实现异步的方法: 在此以做记录 --- http://www.r ...

  9. ArcGIS中的VBA修复

    一直以来,ArcGIS10.1 的VBA安装后,菜单栏里也没相关菜单,听说是许可的问题,直到遇到这个问题才知道真正的原因. 由于项目需要使用了ArcGIS10.0, 不知道操作了什么,打开ArcMap ...

  10. ios 开发之单例模式

    在iOS开发中,有很多地方都选择使用单例模式.有很多时候必须要创建一个对象,并且不能创建多个,用单例就为了防止创建多个对象.单例模式的意思就是某一个类有且只有一个实例.单例模式确保某一个类只有一个实例 ...