A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 naruto2205 于 2013-12-17 23:27 编辑

值类型的引用传递和值传递,引用类型的值传递和引用传递,这四种传递的特点和适用对象是什么,就是out和ref的使用,有点晕

3 个回复

倒序浏览
这个要多写才能理解,我也优点晕
要知道ref是必需要先初始化才能用,但调用时可以对它什么也不做.
out可以不初始化也能用,但调用时一定要对其赋值(即使已经初始化的也要赋值,哪怕是赋一个和原来一样的值).
out和ref都是传地址的,但是out只传出地址,传入地址是没有初始化的,而ref则是传入了已经初始化的地址,并且传出也是这个地址,所以ref可以传入也可以传出有意义的数据,但是out只能传出。
只要记住rel是有进有出,out是只出不进 就好写代码了

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报
经你这么一说,也晕了。
out和ref都是引用传递,但是两者有区别。
ref传递引用之前一定要对变量初始化,并且,ref可以看作是既往方法里面传入,又将经过处理的后的值从方法里面传出,它是双向传递。
out方法就不一样了,用它进行传递的值之前不需要初始化,而在经过方法处理之后将其从方法里面传出。调用方法是填在out处的变量实际上只是用来接收从方法里面传出的引用。

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报
下面是方法的总节 你看看吧
1、使用方法的目的就为了代码的重用。
2、方法中的重要东西
1)、参数:完成这个方法所必须要提供给这个方法的条件
2)、返回值 :方法执行完成后,返回给用户的结果
3)、return:终止当前方法的运行  返回要返回的值
4)、out:侧重于返回多个参数,在方法内必须为其赋值 方法外可以不赋值。
5)、ref:侧重于将一个值带入方法中进行改变,改变完成后再将改变后的值带出来。

6)、param:可变参数数组。可变参数数组必须是形参列表中的最后一个元素
7)、递归:方法自己调用自己。
8)、重载:方法的名称相同,但是方法的参数不同(1、如果参数的类型相同,那么参数的个数就不能相同2、如果参数的个数相同,那么参数的类型就不能相同)

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马