変数の宣言をループ内でした場合とループ外でした場合
それぞれについて、中間言語になるとどのようなコードになるかみていきましょう
ループ内で宣言
C#コード
while(true)
{
int i = 3;
}
IL(中間言語)
// loop start (head: IL_0006)
IL_0002: nop
IL_0003: ldc.i4.3
IL_0004: stloc.0
IL_0005: nop
IL_0006: ldc.i4.1
IL_0007: stloc.1
IL_0008: br.s IL_0002
// end loop
ループの外で宣言
C#コード
int i;
while(true)
{
i = 3;
}
IL(中間言語)
// loop start (head: IL_0006)
IL_0002: nop
IL_0003: ldc.i4.3
IL_0004: stloc.0
IL_0005: nop
IL_0006: ldc.i4.1
IL_0007: stloc.1
IL_0008: br.s IL_0002
// end loop
ディスカッション
コメント一覧
まだ、コメントがありません