WEB开发网
开发学院软件开发C语言 《C# to IL》第三章 选择和循环 阅读

《C# to IL》第三章 选择和循环

 2009-06-01 08:31:05 来源:WEB开发网   
核心提示: OutputTrue “不等于”操作符,也就是!=,《C# to IL》第三章 选择和循环(10),是==的相反操作,它使用了两个ceq指令,这种转换是必须的,因为我们在诸如while这样的循环中使用条件语句,第1个ceq指令用来检查栈上的值是否相等,如果它们是相等

Output

True

“不等于”操作符,也就是!=,是==的相反操作。它使用了两个ceq指令。第1个ceq指令用来检查栈上的值是否相等。如果它们是相等的,它就会返回TRUE;否则就返回FALSE。

第2个ceq将前面的ceq结果和FLASE进行比较。如果第1个ceq的结果是TRUE,那么最后的答案就是FALSE,反之亦然。

这确实是一种独创的方式来对一个值求否。

a.cs

class zzz
{
static int i = 1;
public static void Main()
{
while ( i <= 2)
{
System.Console.WriteLine(i);
i++;
}
}
}

a.il

.assembly mukhi {}
.class private auto ansi zzz extends System.Object
{
.field private static int32 i
.method public hidebysig static void vijay() il managed
{
.entrypoint
br.s IL_0018
IL_0002: ldsfld     int32 zzz::i
call void [mscorlib]System.Console::WriteLine(int32)
ldsfld int32 zzz::i
ldc.i4.1
add
stsfld int32 zzz::i
IL_0018: ldsfld int32 zzz::i
ldc.i4.2
ble.s IL_0002
ret
}
.method public hidebysig specialname rtspecialname static void .cctor() il managed
{
ldc.i4.s   1
stsfld int32 zzz::i
ret
}
}

Output

1

2

在介绍完条件语句之后,我们现在将关注于while循环。这种转换是必须的,因为我们在诸如while这样的循环中使用条件语句。包括条件的while循环稍微有点复杂。

上一页  5 6 7 8 9 10 

Tags:to IL 第三章

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接