【Unity】C#函数引用参数的使用

本文介绍了Unity中C#的值参数、引用参数(ref)和输出参数(out)的概念及区别。引用参数允许函数直接修改传入变量的值,而输出参数则通过out关键字实现。文中还分享了作者在实践中使用引用参数的例子,展示了如何在函数调用中应用ref关键字。

用到引用参数是希望:在函数执行完毕后,传进去的变量的值也发生了改变。

摘自:https://www.cnblogs.com/dyf96966/p/5483411.html

  一、值参数:在使用参数时,是把一个值传递给函数使用的一个变量。对函数中此变量的任何修改都不会影响函数调用中指定的参数。(由于函数只有一个返回值,不能用作参数的多个变量值)。

  二、引用参数:即函数处理的变量与函数调用中使用的变量相同,而不仅仅是值相同的变量。因此,对这个变量的任何改变都会影响用作参数的变量值。需用ref关键字指定参数。用作ref参数的变量有两个限制,由于函数可能会改变引用参数的值,所有必须在函数调用中使用“非常量”变量。其次,必须使用初始化过的变量。

  三、输出参数:out关键字,指定所给定的参数是一个输出参数。Out关键字的使用方式与ref关键字相同,实际上,他的执行方式与引用参数完全一样,因为在函数执行完毕后,该参数的值将返回给函数调用中使用的变量。

下面是我在实践中写的代码:

调用两次ShowPanel函数,bookPanelShow和historicalPanelShow都是全局变量。

ShowPanel(bookPanel,ref bookPanelShow);ShowPanel(historicalPanel, ref historicalPanelShow);
   void ShowPanel(CanvasGroup canvas, ref bool show)//函数执行完毕后,全局变量的值也发生改变
    {
        if (show)
        {
            canvas.alpha = Mathf.Lerp(canvas.alpha, 1f, Time.deltaTime * 5);
            if (canvas.alpha > 0.99f)
                show = false;
        }           
    }

使用引用参数:1.调用函数时,参数前加ref  2.声明函数时,参数前加ref

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值