C# 中 for 和 while 可互相轉換。for 循環的第一分號前初始化碼僅執行一次,因此編譯為 IL 時,初始化指令置於循環外,隨後以無條件跳轉進入條件檢查。
// C# 代碼(同上一篇的 while/do-while 範例)
// 此處省略,重點說明 for 循環編譯模式
典型 for 編譯模式:
ldc.i4.1 stloc.0)。br.s 跳至條件檢查標籤。ble.s 等)決定是否回跳循環體。br.s:短跳轉,用於無條件轉移。ble.s、bgt.s 等:有條件短跳轉,結合比較與分支。這展示了高階循環結構在 IL 中統一為「標籤 + 條件分支」的基本模式。