foreach原理
来源:互联网 发布:机加工编程软件有哪些 编辑:程序博客网 时间:2024/05/29 04:53
结构篇:
foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。此语句的形式如下:
foreach (type identifier in expression) statement
其中:
type
identifier 的类型。
identifier
表示集合元素的迭代变量。如果迭代变量为值类型,则无法修改的只读变量也是有效的。
expression
对象集合或数组表达式。集合元素的类型必须可以转换为 identifier 类型。请不要使用计算为 null 的表达式。
而应计算为实现 IEnumerable 的类型或声明 GetEnumerator 方法的类型。在后一种情况中,GetEnumerator 应该要么返回实现 IEnumerator 的类型,要么声明 IEnumerator 中定义的所有方法。
statement
要执行的嵌入语句。
原理篇:
在foreach循环中,迭代集合collectionObject的过程如下:
(1)调用collectionObject.GetEnumerator(),返回一个IEnumerator引用。这个方法可以通过IEnumerable接口的实现代码来获得。但这是可选的。
(2)调用返回的IEnumerator接口的MoveNext()方法。
(3)如果MoveNext()方法返回true,就使用IEnumerator接口的Current属性获取对象的一个引用,用于foreach循环。
(4)重复前面两步,直到MoveNext()方法返回false为止,此时循环停止。
替代foreach实现:
foreach (XXX a in b){
…
}
等同于
XXX a;
IEnumerator ie = (IEnumable)b.GetEnumerator();
while (ie.MoveNext) {
a = (XXX)ie.Current;
…
}
- foreach原理
- foreach原理
- foreach原理
- foreach内部原理
- foreach遍历原理解析
- java forEach实现原理
- java forEach实现原理
- java forEach实现原理
- java forEach实现原理
- foreach的实现原理
- foreach的原理
- java forEach实现原理
- java forEach实现原理
- java foreach实现原理
- forEach实现原理
- java foreach原理探讨
- java foreach原理
- java foreach的原理
- 第三方库 EGOCache
- 接口自动化测试TestNG框架环境搭建 (1)
- linux 下大量TIME_WAIT 的处理
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- leetcode 50. Pow(x,n)
- foreach原理
- 112. Path Sum
- POI操作Excel常用方法总结
- 数据库查询日期
- java常见进制数之间的转换
- 读取SD卡文件和文件夹
- UML类图符号 各种关系说明以及举例
- pydev for eclipse kepler
- Java注解处理器使用详解