c# out关键字 vb_在c#中使用out关键字

任何人都可以建议我确切使用out关键字作为参数,以及它如何连接从函数返回多个值,如在POST中,我与变量与正常变量混淆.任何人都可以帮助我.

解决方法:

这经常令人困惑,我认为MSDN文档实际上有点“只有在已知的情况下才会清楚”.也就是说,它是正确的,但只有你已经理解了这个概念才真正有意义.

这是我如何看待它.

常规参数生成参数值的副本.当你说:

static int M(int z) { z = z + 1; return z; }

...

int x = 123;

int y = M(x);

就像你说的那样:

int x = 123;

int z = x; // make a copy of x

z = z + 1;

int y = z;

ref或out参数为现有变量创建别名.当你说

static void N(ref int q) { q = q + 1; }

...

int x = 123;

N(x);

这跟说:

int x = 123;

// MAGIC: q is now an another name for variable x

q = q + 1;

q和x是两个不同的名称,它们指的是同一个变量.递增q也会增加x,因为它们是相同的.前一个示例中的z和x是两个不同的名称,它们指的是两个不同的变量.增加z不会改变x.

总结:“out”和“ref”只是表示“不要创建新变量;而是暂时为现有变量创建第二个名称”.

那现在清楚了吗?

更新:我没有说“out”和“ref”之间的区别是什么.区别很简单.在“调用方”一侧,在调用方法之前,“ref”必须是明确赋值的变量. “出局”不一定是.在“被调用方”一侧,可以在写入之前读取“ref”,但必须在读取之前写入“out”.此外,必须在控制正常离开方法之前写入“out”.

标签:c,net,keyword,out

来源: https://codeday.me/bug/20190712/1442417.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值