第一段程序:

  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后,才是真正的引用传递,不管修改变量本身还是修改变量的属性或字段,都会影响到传递前的变量的值

转载于:https://www.cnblogs.com/yuqilin/archive/2011/09/02/2163256.html

关于引用传递的测试题相关推荐

  1. C++ 函数参数 值传递与引用传递

    以前我们在C语言中函数参数传递过程中,如果我们想要让当A函数作用域中的变量经过B函数处理之后的数值仍然在A函数中生效,这个时候函数参数的传递时需要引用方式去传递,方式如下: #include < ...

  2. 【Qt】信号和槽对值传递参数和引用传递参数的总结

    在同一个线程中 当信号和槽都在同一个线程中时,值传递参数和引用传递参数有区别: 值传递会复制对象:(测试时,打印传递前后的地址不同) 引用传递不会复制对象:(测试时,打印传递前后的地址相同) 不在同一 ...

  3. Java中的值传递和引用传递

    当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?      答:是值传递.Java 编程语言只有值传递参数.当一个对象实例作为 ...

  4. Java值传递与引用传递

    Java面试题: 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答案基本上是:值传递 说明:得出这种结论的前提必须是&qu ...

  5. python参数传递方法_深入理解python中函数传递参数是值传递还是引用传递

    python 的 深入理解python中函数传递参数是值传递还是引用传递 目前网络上大部分博客的结论都是这样的: Python不允许程序员选择采用传值还是传 引用.Python参数传递采用的肯定是&q ...

  6. Stack Overflow上188万浏览量的提问:Java 到底是值传递还是引用传递?

    来自:沉默王二 在逛 Stack Overflow 的时候,发现了一些访问量像阿尔卑斯山一样高的问题,比如说这个:Java 到底是值传递还是引用传递?访问量足足有 188万+,这不得了啊!说明有很多很 ...

  7. java 引用传递_详解java的值传递、地址传递、引用传递

    详解java的值传递.地址传递.引用传递 一直来觉得对值传递和地址传递了解的很清楚,刚才在开源中国上看到一篇帖子介绍了java中的值传递和地址传递,看完后感受颇深.下边总结下以便更容易理解. 按照以前 ...

  8. go slice获取唯一值_Go语言引用传递与值传递

    先说结论 GO中只有值传递,没有引用传递 所谓值传递,就是实参通过拷贝将自身内容传递给形参.也就是将传递的内容拷贝一份,给函数.所以函数外和函数里对这个参数地址求值,应该是不一样的. 证明如下: fu ...

  9. php无法引用,PHP错误:“无法通过引用传递参数2”

    我只需要这个不太了解的PHP错误的帮助: 致命错误:在第13行的/web/stud/openup/inactivatesession.php中无法通过引用传递参数2 error_reporting(E ...

最新文章

  1. ICML2018见闻 | 迁移学习、多任务学习领域的进展
  2. 利用WampServer挂载MySQL数据库
  3. 如果可以,我想给这本书打十星!
  4. c++函数内部可以返回函数内部定义的指针 但是不能返回函数内部定义的数组...
  5. linux终端lex程序运行,lex的简单使用
  6. IDEA中怎么设置黑色或白色背景?
  7. 增强服务器安全性能,加强Linux服务器安全的20项建议
  8. java runnable 使用_java – 在哪里使用可调用以及在哪里使用Runnable接口?
  9. 自学Java的人,如何系统全面的学习?
  10. 读书笔记《React:引领未来的用户界面开发框架》
  11. [Python] L1-040. 最佳情侣身高差 团体程序设计天梯赛GPLT
  12. Python列表推导式求素数
  13. java excel换行_Java 导出excel进行换行的案例
  14. es6-es12简单总结
  15. 交互设计软件 html,5款优秀的交互动效设计软件推荐,让你用到爽
  16. XCTF|PWN-string-WP
  17. idea出现Cannot find keymap “Windows copy的报错?
  18. Python拓展dict类
  19. 如何将大量图片文件合并成一个*.bin文件
  20. add_metrology_object_circle_measure (对齐测量模型)

热门文章

  1. 综合布线智能配线系统发展趋势
  2. be sure to bring water with you while studying
  3. AndroidStudio3.4+Unity2018.3,导出JAR包给UNITY使用
  4. mysql主从复制-mysqldump
  5. mysql-5.7.21 二进制安装 | Jemalloc内存优化 | 备份恢复|修改密码
  6. 调试你的Python代码
  7. 提升网络可靠性的双网卡绑定7种模式
  8. EL表达式隐含对象和jstl命名冲突,jstl无法取的值
  9. 单例模式(线程安全+延迟加载)
  10. ios中while()和 android中的不同之处