zoukankan      html  css  js  c++  java
  • MSIL实用指南-生成foreach语句


    foreach可以迭代数组或者一个集合对象。
    foreach语句格式是
    它的生成步骤是
    foreach (<成员> in <集合>)
    <循环体>

    一、声明三个变量,
    local0调用get_Current结果,
    local1保存集合对象的调用GetEnumerator结果,
    local2调用MoveNext结果。
    二、声明四个标签,分别是循环开始标签、finally结束标签、MoveNext标签、get_Current标签
    三、调用集合对象的GetEnumerator方法,保存结果到相应变量
    四、开始try
    五、生成跳转到MoveNext标签指令
    六、生成循环体
    七、加载local1,调用集合MoveNext方法,并保存结果到local2
    八、加载local2,生成brtrue_S,如果不为null跳转到循环开始标签
    九、开始finally,判断local1是否为空,不为空则调用System.IDisposable::Dispose()方法

  • 相关阅读:
    发光二极管
    续流二极管作用及工作原理
    python backtrace注意事项
    docker tips
    direct stdin and stdout
    python skill
    mysql comments
    python dict
    python list and tuple
    Python library
  • 原文地址:https://www.cnblogs.com/tkt2016/p/8807668.html
Copyright © 2011-2022 走看看