MSIL實用指南 生成foreach語句

2022-01-24 15:45:24 字數 545 閱讀 5186

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()方法

MSIL實用指南 struct的生成和操作

一 宣告struct 和宣告class一樣,用modulebuilder的definetype方法,但是要求第二個引數是typeattributes.sealed,第三個引數是typeof valuetype 例項 var typebuilder modulebuilder.definetype m...

DHTML實用指南

改進checkbox 單擊我可以改變 checkbox的狀態 使用label實現快捷鍵的功能 姓名 n 文字框的提示和輸入 開啟和關閉乙個新的視窗 開啟我的 關閉我的 陣列中的方法 join 是將陣列轉換成字串,括號裡的字段是指定的分隔符 sort 是排序 array1 new array a b ...

DHTML實用指南

改進checkbox 單擊我可以改變 checkbox的狀態 使用label實現快捷鍵的功能 姓名 n 文字框的提示和輸入 開啟和關閉乙個新的視窗 開啟我的 關閉我的 陣列中的方法 join 是將陣列轉換成字串,括號裡的字段是指定的分隔符 sort 是排序 array1 new array a b ...