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. header('Location:'.C('VIP_HX').'/CmdId/'.$CmdId.'/user_id/'.$user_id.'/Token/'.$Token);

    利用header函数做跳转,跳转至C('VIP_HX')配置文件中VIP_HX的地址下,携带参数CmdId 值为 $CmdIduser_id 值为 $user_idToken 值为 $Token th ...

  2. 【转】zigbee协议的多种profile

  3. Java基本概念(2)J2EE里面的2是什么意思

    J2EE里面的2是什么意思 J2SE,J2SE,J2ME中2的含义要追溯要1998年.1998年Java 1.2版本发布,1999年发布Java 1.2的标准版,企业版,微型版三个版本,为了区分这三个 ...

  4. HttpClient在HTTP协议接口测试中的使用

    TTP协议的接口测试中,使用到最多的就是GET请求与POST请求,其中POST请求有FORM参数提交请求与RAW请求,下面我将结合HttpClient来实现一下这三种形式: 一.GET请求: GET请 ...

  5. CSS:CSS使用Tips

    Css是前端开发中效果展现的主要部分之一,良好的Css书写习惯可以为实际的项目开发提高效率,也可以为实现良好的团队合作提供保证. 一般新手在使用Css的时候经常会犯一些错误,出现一些不经意的漏洞,如果 ...

  6. 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(七)地图打印模块

    config.xml文件的配置如下: <widget label="地图打印" icon="assets/images/map_print.png" co ...

  7. android 双缓存机制

    废话不多说,直接贴代码! 所谓的双缓存,第一就是缓存在内存里面,第二就是缓存在SD卡里面,当你需要加载数据时,先去内存缓存中查找,如果没有再去SD卡中查找,并且用户可以自选使用哪种缓存! 缓存内存和缓 ...

  8. Android打造属于自己的数据库操作类。

    1.概述 开发Android的同学都知道sdk已经为我们提供了一个SQLiteOpenHelper类来创建和管理SQLite数据库,通过写一个子类去继承它,就可以方便的创建.管理数据库.但是当我们需要 ...

  9. KEIL中启动文件详解(汇编语言)

    原文在此:http://www.cnblogs.com/mddblog/p/4920063.html 概述 在嵌入式系统中,启动文件是整个系统非常关键的部分,它会进行一些底层的初始化,构建程序运行必要 ...

  10. SQL SERVER 2014 Agent服务异常停止案例

    生产环境一数据库服务器(SQL Server 2014)的Agent服务突然停掉了,检查了错误日志,发现在"SQL Server Agent"里面没有"SQLServer ...