使用c#,Net framework 4.5 notePad
尝试理解CIL(IL)语言的原理。目前创建2个简单方法
public static Int32 Add(Int32 a, Int32 b)
{
return a + b;
}
public Int32 Add1(Int32 a, Int32 b)
{
return a + b;
}
在ildasm.exe打开后
问题
为什么在Add方法中CIL使堆栈0中的加载参数和堆栈1中的第二个 - 在方法Add1中使用堆栈0 或者我错过了什么?
答案 0 :(得分:9)
您的第一个方法传递了两个参数a
(0)和b
(1)。你的第二个传递了三个参数this
(0),a
(1)和b
(2)。即使您没有使用this
,它仍然存在。