zoukankan      html  css  js  c++  java
  • 关于引用传递的测试题

    第一段程序:

       public static void change(int[] arr)
            {
                // both of the following changes will affect the original variables:
                arr[0] = 888;
                arr = new int[5] { -3, -1, -2, -3, -4 };
                Console.WriteLine((arr[0]).ToString());
            }
            public static void Main()
            {
                int[] myarray = new int[3];
                myarray[0] = 1;
                myarray[1] = 4;
                myarray[2] = 5;
                Console.WriteLine(myarray[0]);
                change(myarray);
                Console.WriteLine(myarray[0]);
                Console.ReadLine();
            }

    第二段程序:
            public static void change(ref int[] arr)
            {
                // both of the following changes will affect the original variables:
                arr[0] = 888;
                arr = new int[5] { -3, -1, -2, -3, -4 };
                Console.WriteLine((arr[0]).ToString());
            }
            public static void Main()
            {
                int[] myarray = new int[3];
                myarray[0] = 1;
                myarray[1] = 4;
                myarray[2] = 5;
                Console.WriteLine(myarray[0]);
                change(ref myarray);
                Console.WriteLine(myarray[0]);
                Console.ReadLine();
            }

    回答格式:

    第一段程序:XXX

    第二段程序:XXX

    答案:

      第一段程序:

      1

      -3

      888

      第二段程序:

      1

      -3

      -3

    解释:

    引用类型作为参数时:

    1、在修改变量本身时,结果类似于值传递,即不会改变传递前的变量的值

    2、在修改变量的属性或字段时,才是引用传递,会影响到传递前的变量的值

    3、参数使用了ref后,才是真正的引用传递,不管修改变量本身还是修改变量的属性或字段,都会影响到传递前的变量的值

  • 相关阅读:
    Java并发基础10:原子性操作类的使用
    Java并发基础09. 多个线程间共享数据问题
    Java并发基础08. 造成HashMap非线程安全的原因
    Java并发基础07. ThreadLocal类以及应用技巧
    Java并发基础06. 线程范围内共享数据
    Java并发基础05. 传统线程同步通信技术
    Java并发基础04. 线程技术之死锁问题
    我是如何从通信转到Java软件开发工程师的?
    IOS 判断耳机插入/拔出
    海量数据处理
  • 原文地址:https://www.cnblogs.com/yuqilin/p/2163256.html
Copyright © 2011-2022 走看看