unity的引用传递和数组的联系

引用传递

//引用传递  
static void SetY(out int x,out int y )
  {
      x = 0;
      y = 0;
      x = 1000;
  }

  static void Main(string[] args)
  {
       int x = 0;
       int y = 10;
       SetY(out x, out y);
       Console.WriteLine($"x={x},y={y}");
     
  }

结果是:x=1000,y=0

数组的引用传递

数组值的传递就是引用传递

static void Main(string[] args)        表示返回值是数组的引用

foreach(var item in y)        表示只读,把读出的数据存放在item容器里面

在函数里开辟的空间在堆里,不会收回,所以在主函数中不用重新开辟,只需要声明就可以

  static int[] SetArray(int[] x)
  {
      //开辟空间处理内存中的结果
      int[] y = new int[x.Length];
      for (int i = 0; i < x.Length; i++) 
      {
          y[i] = x[i]*2;
      }
      return y;
  }



 static void Main(string[] args)
 {
     int[] arr = new int[5] { 1, 2, 3, 4, 5 };
     int[] y = SetArray(arr);
     foreach(var item in y)
     {
         Console.WriteLine(item+" ");
     }
 }

ps.值传递要注意作用域

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值