传送门:https://www.cnblogs.com/moonache/p/6063051.html
- 参数类型
-
- 值参:形参改变不影响实参
- 引用参数(ref):形参改变,实参也跟随改变
-
class C { public int value = 0; } // 实参和形参是2个变量,但指向同一个对象 void changeC1(C c) { c.value = 10; c = new C(); // new之后,形参c指向新的对象 c.value = 30; } // ref : 形参是实参的引用,是同一个变量 void changeC2(ref C c) { c.value = 10; c = new C(); // new之后,形参和实参都指向新的对象 c.value = 30; } // 调用 C m_c1 = new C(); // C m_c2 = new C(); // changeC1(m_c1); // 结果为 10 changeC2(ref m_c2); // 结果为 30
-
- 输出参数(out):与ref一样,但是在函数结束前必须赋值
- 参数数组(params):参数个数不固定
-
void Show(params int[] inVals) { for (int i = 0; i < inVals.Length; ++i) Debug.Log(inVals[i]); } void Start() { Show(1); Show(1, 2); Show(1, 2, 3); }