foreach中不能修改元素的值

简介: foreach循环中不能修改集合元素的值,否则会报错:Collection was modified; enumeration operation may not execute. 当用foreach遍历Collection时,如果对Collection有Add或者Remove操作或者给item某个属性赋值都会有这个错误。

foreach循环中不能修改集合元素的值,否则会报错:Collection was modified; enumeration operation may not execute.

当用foreach遍历Collection时,如果对Collection有Add或者Remove操作或者给item某个属性赋值都会有这个错误。

原因是因为Collection返回的IEnumerator把当前的属性暴露为只读属性,所以对其的修改会导致运行时错误,只需要把foreach改为for来遍历就好了。

作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址williamningdong@gmail.com  联系我,非常感谢。

目录
相关文章
|
编译器 C++ Windows
win10 环境下配置 openGL的freeglut、glew等库,使用openGL
win10 环境下配置 openGL的freeglut、glew等库,使用openGL
7621 0
|
SQL 关系型数据库 MySQL
【Mysql】 深入理解MySQL的执行计划
【Mysql】 深入理解MySQL的执行计划
457 4
|
缓存 算法 前端开发
热力图生成算法及其具体实现
热力图生成算法及其具体实现
276 0
|
12月前
|
人工智能 自然语言处理 搜索推荐
ECCV 2024:一眼临摹:瞥一眼就能模仿笔迹的AI
 【10月更文挑战第10天】在人工智能领域,手写文本生成技术迎来新突破。最新研究提出“一眼临摹”AI技术,仅需一个手写样本文即可模仿任意书法风格。该技术核心为One-DM模型,结合扩散模型与风格增强模块,实现高效、多样且高质量的手写文本生成,广泛应用于数字签名、个性化信件及艺术创作等领域。
643 2
|
缓存 图形学 UED
U3D开发技术深度解析:异步场景加载与资源管理优化策略
【7月更文第11天】在Unity3D(简称U3D)游戏开发中,优化场景加载与资源管理是提升用户体验的关键一环。通过实现高效的异步场景加载和智能的资源管理策略,我们能显著缩短玩家的等待时间,提升游戏流畅度。本文将详细介绍这两种技术的应用,并提供实用的代码示例。
1093 0
|
Java API 开发者
|
Windows
【Qt 学习笔记】Qt常用控件 | 显示类控件 | Label的使用及说明
【Qt 学习笔记】Qt常用控件 | 显示类控件 | Label的使用及说明
795 0
|
JavaScript
vue 农历日期转公历日期(含插件 js-calendar-converter 使用教程)
vue 农历日期转公历日期(含插件 js-calendar-converter 使用教程)
490 0
|
安全 Java 编译器
「 Java基础-泛型 」一篇文章说清楚Java泛型中的通配符T、E、K、V、N、?和Object的区别与含义
Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。 可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。
「 Java基础-泛型 」一篇文章说清楚Java泛型中的通配符T、E、K、V、N、?和Object的区别与含义
|
C# 数据库
WPF中DataGrid控件绑定数据源
WPF中DataGrid控件绑定数据源
277 0