引用参数和输出参数的2个区别(以前偶只知道第一个)

本文详细解析了C#中的ref与out参数的使用规则。ref参数要求在调用前必须已被赋值,而出参out则允许在调用时不赋值,但必须在函数返回前完成赋值。文章通过具体代码示例展示了这两种参数的不同行为,帮助读者深入理解其工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、引用参数(ref)在可以作为引用参数在函数成员调用中传递之前,必须已明确赋值,而输出参数(out)在可以作为输出参数在函数成员调用中传递之前不一定要明确赋值,在该函数成员正常返回前都必须已明确赋值。

2、在函数内部,引用参数(ref)被视为初始已赋值,输出参数(out)被视为初始未赋值。

举例:

private void setage(ref int _oldage,out int _newage)
{
     _newage = 2;   //out必须赋值
}

public void main()
{
    int oldage = 0;  //ref必须提前赋值
    int newage =1;  //out提前赋值在函数中无效
    setage(ref oldage,out newage);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值