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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wyu621 中级黑马   /  2013-6-20 16:51  /  1166 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

简述C#中方法的值参数,引用参数和输出参数

3 个回复

倒序浏览
1. 当利用值向方法传递参数时,编译程序给实参的值做一份拷贝, 并且将此拷贝传递给该方法。被调用的方法不会修改内存中实参的值,所以使用值参数时,可以保证实参值是安全的。在调用方方法时,如果形式化参数的类型是值参数的话,调用的实参的表达式必须保证是正确的值表达式。
2. 和值参不同的是,引用型参数不开辟新的内存区域。当利用引用型参数向方法传递形参时,编译程序将实际值在内存中的地址传递给方法;
3. 与引用型参数类似,输出型参数也不开辟新的内存区域。与引用型参数的差别在于,调用方法前无需对变量进行初始化。输出型参数用于传递方法返回的数据。

回复 使用道具 举报
而在C#中,有不加修饰符的值传递,即实参向形参单向传递;out修饰的形参往实参返值,即形参向实参的单向传递;ref修饰的引用传递(类似于C语言中的地址传递),即实参和形参的双向传递。
回复 使用道具 举报
值参数就是 按值传递,传过去的是它的一个拷贝 ,所有继承自ValueType 的都是值传递 , 所有继承自object 的都是 引用传递  ,对该对象做的所有操作都会映射到原对象上
输出参数就是  在传递的时候加Out 关键字 ,使用的时候不用对它初始化 ,但是在掉用方法里必须给它赋值 。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马