关于引用传递的测试题
第一段程序:
? 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
解釋:
引用類型作為參數(shù)時(shí):
1、在修改變量本身時(shí),結(jié)果類似于值傳遞,即不會(huì)改變傳遞前的變量的值
2、在修改變量的屬性或字段時(shí),才是引用傳遞,會(huì)影響到傳遞前的變量的值
3、參數(shù)使用了ref后,才是真正的引用傳遞,不管修改變量本身還是修改變量的屬性或字段,都會(huì)影響到傳遞前的變量的值
轉(zhuǎn)載于:https://www.cnblogs.com/yuqilin/archive/2011/09/02/2163256.html
總結(jié)
以上是生活随笔為你收集整理的关于引用传递的测试题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 爱上经典之《蜗牛与黄鹂鸟》
- 下一篇: 寄存器相互映射是什么意思_STM32入门