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


【学习资料】

  《C#图解教程》(第5章)https://www.cnblogs.com/moonache/p/7687551.html
  电子书下载:https://pan.baidu.com/s/1mhOmBG0

 

【内容】 

    • 函数参数类型
    • 值参数:值类型、引用类型
    • 引用参数(ref)
    • 引用类型 作为 值参数与引用参数(ref) 的区别
    • 输出参数(out)
    • 参数数组(params)

 


 【笔记】

  • 参数类型

    

 

  • 值参(形参改变不影响实参)
    • 在栈中 为形参 开辟空间
    • 将 实参的值 传给 形参(值类型传递值,引用类型传递指向堆数据的引用)

       

 

  • 引用参数(ref)(形参改变,实参也跟随改变)
    • 不会 为形参 在栈上 分配内存
    • 相当于:给实参起个别名,实参和形参是同一个变量

      

 

  • 引用类型作为 值参 与 ref参数 的区别
    • 作为值参:形参指向新的数据时,实参指向的数据不变

      

    • 作为ref参数:形参指向新的数据时,实参也指向新的数据(因为形参相当于是实参的别名)

      

 

  • 输出参数(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);
      }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM