用到引用参数是希望:在函数执行完毕后,传进去的变量的值也发生了改变。
摘自: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
本文介绍了Unity中C#的值参数、引用参数(ref)和输出参数(out)的概念及区别。引用参数允许函数直接修改传入变量的值,而输出参数则通过out关键字实现。文中还分享了作者在实践中使用引用参数的例子,展示了如何在函数调用中应用ref关键字。

874

被折叠的 条评论
为什么被折叠?



