局部变量和参数位于栈上。在调用方法的时候,内存从栈的顶部开始分配,保存和方法关联的一些数据项。这块内存叫做方法的栈帧
■栈帧包含的内存保存如下内容。
●返回地址,也就是在方法退出的时候继续执行的位置。
●这些参数分配的内存,也就是方法的值参数,或者还可能是参数数组。
●各种和方法调用相关的其他管理数据项。
■在方法调用时,整个栈帧都会压入栈。
■在方法退出的时候,整个栈都会从栈上弹出。弹出栈帧有的时候也叫做栈展开。
class Program
{
static void MethodA(int par1,int par2) {
Console.WriteLine("Enter MethodA:{0},{1}",par1,par2);
MethodB(11,18);
Console.WriteLine("Exit MethodA");
}
static void MethodB(int par1,int par2) {
Console.WriteLine("Enter MethodB:{0},{1}",par1,par2);
Console.WriteLine("Exit MethodB");
}
static void Main(string[] args)
{
Console.WriteLine("Enter Main");
MethodA(15,30);
Console.WriteLine("Exit Main");
Console.ReadKey();
}
}