【摘要】:在C#集合内,foreach循环可以隐藏集合类型的内部实现方法,从而更加有效地处理集合类型元素。当在foreach语句执行时,迭代变量表示当前正在为其执行迭代的集合元素。注意1)如果运行foreach处理语句试图修改迭代变量值,或将变量值作为ref参数或out参数传递,都会发生编译错误。2)foreach语句的表达式必须有一个从该集合的元素类型到迭代类型的显式转换,如果表达式的结果为null,则会发生运行异常。
在C#集合内,foreach循环可以隐藏集合类型的内部实现方法,从而更加有效地处理集合类型元素。通过foreach循环语句,可以循环列举某集合内的元素,并对各元素执行一次相关的嵌入语句。
foreach的具体使用格式如下:
其中,通过类型和迭代变量来声明语句的迭代变量。C#中的迭代变量,相当于某范围内覆盖整个嵌入语句的只读局部变量。当在foreach语句执行时,迭代变量表示当前正在为其执行迭代的集合元素。
注意
1)如果运行foreach处理语句试图修改迭代变量值,或将变量值作为ref参数或out参数传递,都会发生编译错误。
2)foreach语句的表达式必须有一个从该集合的元素类型到迭代类型的显式转换,如果表达式的结果为null,则会发生运行异常。(www.xing528.com)
3)如果在某集合内支持foreach语句,则这个集合必须能够实现System.Collections.IEnumerable接口,或者实现集合模式。实现集合模式的条件如下。
该集合包含一个public实例方法,这个方法含有签名GetEnumerator(),并且其返回值为结构、类或接口类型。
该集合包含一个public实例方法,这个方法含有签名MoveNext()和返回类型bool。
该集合包含一个public类型的Current属性实例,这个属性允许读取当前的值。如果表达式的集合类型实现了集合模式,则可以通过如下格式使用foreach语句:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。