king71 发表于 2017-7-2 16:27:19

C#之实参和形参

  1.值类型
  例如:我们定义一个函数   



static void Exchange(int x, int y)
{
int flag = x;
flag = y;
y = x;
x = flag;
}
  其中,int x ,int y 为形参,我们可以通过如下方式进行调用函数,调用时方法名,参数个数、参数类型都要对应一致,如下



static void Main(string[] args)
{   
int a = 2;
int b = 5;
      Exchange(a, b);
      Console.WriteLine("a="+a.ToString()+"\r\n"+"b="+b.ToString());

}
  int属于值类型所以在调用Exchange(a,b)方法的时候,程序会给a和b分别复制一个相同的a和b,然后去执行方法,当方法执行结束之后,根据GC机制,刚刚分配的地址会被清除掉,所以在执行Exchange(a,b)之后,Main方法的a和b值是没有发生变化的。方法参数为值类型时,我们把a可以理解为一个主演,Exchange方法可以理解为做一个危险事情,做这个危险事情的时候,导演为防止主演受伤,给主演找个外貌相似的替身,替代主演去完成这个危险的事情,当替身完成这个危险事情的时候,替身的状态(受伤或者没有受伤)不会改变主演的状态。
页: [1]
查看完整版本: C#之实参和形参