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

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

摘自: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

猜你喜欢

转载自blog.csdn.net/qq_36622009/article/details/79844475
今日推荐