C#学习笔记------参数

一、形参

  形参是本地变量,它声明在方法的参数列表中,而不是方法体中。

二、实参

    当代码调用一个方法时,形参的值必须在方法的代码开始执行之前被初始化。

    1.用于初始化形参的表达式或变量称作实参。

    2.实参位于方法调用的参数列表中。

    3.每一个实参必须与对应形参的类型相匹配,或是编译器必须能够把实参隐士转换为那个类型。

  

     当方法被调用的时候,每个实参的值都被用于初始化相应的形参,方法体随后被执行。

三、值参数

     使用值参数,通过将实参的值复制到形参的方式把数据传递给方法。方法被调用时,系统做如下操作。

       1.在栈中为形参分配空间。

       2.将实参的值复制给形参。

     值参数的实参不一定是变量。它可以是任何能计算成相应数据类型的表达式。

    

      在把变量用作实参之前,变量必须被赋值(除非是输出参数)。对于引用类型,变量可以被设置为一个实际的引用或null。

   

          下图说明了实参和形参在方法执行的不同阶段时的值,它表明以下3点。

               1.在方法被调用前,用作实参的变量a2已经在栈里了。

               2.在方法开始时,系统在栈中为形参分配空间,并从实参复制值。

                   1)因为a1是引用类型的,所以引用被复制,结果参数和形参都引用堆中的同一个对象。

                   2)因为a2是值类型的,所以值被复制,产生了一个独立的数据项。

               3.在方法的结尾,f2和对象f1的字段都被加上了5。

                  1)方法执行后,形参从栈中弹出。

                  2)a2,值类型,它的值不受方法行为的影响。

                  3)a1,引用类型,但它的值被方法的行为改变了。

 

     

 

转载于:https://www.cnblogs.com/alannxu/p/8461596.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值