码迷,mamicode.com
首页 > 其他好文 > 详细

ref & out关键字

时间:2015-08-10 00:02:58      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

一、ref关键字
     a、ref关键字是用来修饰方法的参数的
     b、在调用的时候。在为被ref修饰的形参传值的时候,实参前面也必须要用ref修饰。
     c、 传值的时候,传递的不是实参变量的值,传递的是实参变量的地址。
            这个时候在方法的内部,修改ref形参的值,其实改的是实参变量的值。
     d、所以实参必须是1个变量,不能是1个常量。因为传递的时候传的是变量的地址,而不是值。
     最大的作用是:可以在方法的内部去修改调用者的变量的值。实际上,我们发现ref传递以后,实参ref和形参ref 就是同1个变量. 这个时候 在方法的内部,修改ref形参的值 就是修改实参变量的值 因为本质上他们是同1个变量.
 
二、out关键字  
     a、是用来修饰方法的参数的。调用的是,实参的时候,实参必须是1个变量,并且实参也是被out修饰。
     b、如果加了out关键字,那么在传递的时候,传递的不是实参变量的值,而是实参变量的地址。所以在方法的内部,修改out形参,实际上修改的是调用者的实参变量的值。
          实际上,我们发现out传递以后,实参out和形参out就是同一个变量。
          这个时候 在方法的内部,修改out形参的值,就是修改实参变量的值,因为本质上他们是同个变量。
      out最大的作用是:可以在方法的内部更改调用者的变量的值。当我们需要向调用者返回多个数据的时候,就可以用它。
 
三、ref与out的区别
      a、ref在方法的内部可以为其赋值,也可以不赋值。out要求在方法结束之前必须为它赋值。
      b、ref实参变量在传递之前,要求必须有初始值,因为在方法的内部有可能会使用它的值。
           out实参变量在传递之前,可以没有初始值,因为在方法的内部一定会为它赋值的。
           out在方法中,使用之前,必须为其赋值。
       ref侧重于修改,out侧重于输出。
 
四、如果方法的内部有可能返回多个数据,那么我们就可以使用ref。
     如果方法一定会返回多个数据,那么我们就可以使用out。
     但是ref是可以用在任意的场合的。
 

ref & out关键字

标签:

原文地址:http://www.cnblogs.com/huanhuan0624/p/4716550.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!