zoukankan      html  css  js  c++  java
  • foreach的原理

    1、foreach 语句对实现 System.Collections .IEnumerable 或 System.Collections.Generic .IEnumerable <T > 接口的数组或对象集合中的每个元素重复一组嵌入式语句。 foreach 语句用于循环访问集合,以获取您需要的信息,但不能用于在源集合中添加或移除项,否则可能产生不可预知的副作用。 如果需要在源集合中添加或移除项,请使用 for 循环。

    2、可以在 foreach 块的任何点使用 break 关键字跳出循环,或使用 continue 关键字进入循环的下一轮迭代。

    3、foreach 循环还可以通过 goto、 return 或 throw 语句退出。

    4、foreach 语句运行过程如下:
    c#中的foreach语句不会解析为IL代码中的foreach语句。c#编译器会把foreach语句转换为IEnumerable接口的方法和属性:
    例如:
    foreach(var p in persons)
    {
    Console.WriteLine(p);
    }
    首先,调用GetEnumerator()方法,获得数组的一个枚举器。例:IEnumerator<Person> enumerator = persons.GetEnumerator();
    在while循环中,调用枚举器的MoveNext()方法,如果返回true,就用Current属性访问数组中的元素,例:
    while(enumerator.MoveNext())
    {
    Person p=enumerator.Current;
    Console.WriteLine(p);
    }

  • 相关阅读:
    每周工作进度及工作量统计
    debug阶段工作期站立会议2(进度推进)
    new NABCD
    事后诸葛亮会议 (尸体解剖)
    debug阶段工作期站立会议1
    用户使用报告
    Scrum会议10(Beta版本) 补交
    历年学生作品点评
    关于词频统计的效能测试
    敏捷开发之Scrum站立会议
  • 原文地址:https://www.cnblogs.com/simpleZone/p/5113380.html
Copyright © 2011-2022 走看看