zoukankan      html  css  js  c++  java
  • C# 引用类型公共变量的影响

            public int[] a =new int[2];
            private void button1_Click(object sender, EventArgs e)
            {
                bing(a);
            }
            private void bing(int[] aa)
            {
                aa[0]=3;
                aa[1]=3;
            }
    

     以上代码 在 button1被点击时  触发bing方法  公共变量 是 a 是个int数组 引用类型,

       当在 bing方法里公共变量a以参数的方式传进来,在bing方法中修改,aa数组 会同步到 全局变量 a上 ,使得公共变量a也会被修改

            public int[] a =new int[2];
            private void button1_Click(object sender, EventArgs e)
            {
                bing(a);
            }
            private void bing(int[] aa)
            {
                aa=new int[] {3,3};
            }
    

      同样的代码 在bing方法中 由修改变成赋值,这里bing里的aa int数组 改变将不会同步到 a上

           通过分析,在全局变量a传入bing方法时 传递的是地址 给aa ,如果aa被修改 相当于修改了 全局变量 a 数据就会同步 

            如果直接给aa赋值 相当于重新分配了 地址  这样修改就与公共变量a无关了 数据自然不会同步

  • 相关阅读:
    centos 查看硬盘使用情况
    查看centos内存命令
    VS2008编译运行时出现“外部组件发生异常”错误的解决方法
    20170307-1
    20170307
    centos7安装配置git
    Git理解笔记3
    Git理解笔记2
    Git理解笔记1
    php-设计模式
  • 原文地址:https://www.cnblogs.com/xiongyang123/p/10535866.html
Copyright © 2011-2022 走看看