【Unity|C#】基础篇(3)——函数参数(值参/ref/out/params)

  传送门: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);
      }

猜你喜欢

转载自www.cnblogs.com/shahdza/p/12236977.html