out参数和ref参数的区别

out和ref都是在参数传递时,传递变量的引用。用于希望方法中多个变量值更改后,在方法调用后保留更改的值。
当一个方法需要多个返回值时,靠方法返回值就不能胜任,幸好.Net有out和ref关键字。
比如:登录方法,登录结果有成功和失败,但是如果失败还要知道原因仅靠返回值就不行了,这个就可以用out和ref
bool Login(string name,string password,ref|out string errMsg){……}
out方法参数传递前可以不赋值,但是方法中必须先赋值后使用;
ref方法参数传递前必须赋值,方法中可以直接使用。
out侧重输出(方法传递前,不知道值,调用方法后获得值),ref侧重更改(调用方法前就有明确的值,方法中发生更改)。
那么刚才登陆的例子到底用ref还是out呢?这样分析:如果成功是不需要errMsg的,如果失败调用前errMsg的实参是不需要赋值的,所以应该侧重于输出,使用out比较合适。
bool Login(string name,string password,out string errMsg){……}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值