文章出處
文章列表
讓我們再來看有關值傳遞和引用傳遞的例子:
//值傳遞,傳遞的是這個值的本身 int n = 10; int m = n; m = 40; Console.WriteLine(n); // 10 Console.WriteLine(m); // 40
//引用傳遞,傳遞的是對象的引用 //p1 p2 共同指向了同一個堆上的地址 //通過p2改變age,p1所指向的age也會跟著改變的 Person p1 = new Person(); p1.age = 20; Person p2 = p1; p2.age = 25; Console.WriteLine(p1.age); // 25 Console.WriteLine(p2.age); // 25
//字符串雖然屬于引用類型,但由于它的不可變性 //在改變s2所指向的內存后,s1所指向的內存不會跟著改變 string s1 = "dssd"; string s2 = s1; s2 = "rere"; Console.WriteLine(s1); // dssd Console.WriteLine(s2); // rere
字符串可以視為一個只讀的字符數組,所以不能像int類型數組那樣,通過下標來修改數組中元素的值
//在參數前面加上ref修飾,傳遞的是參數的地址,值傳遞變成了引用傳遞 int number = 10; Fun(ref number); Console.WriteLine(number); // 20 public static void Fun(ref int n) { n += 10; }
文章列表
全站熱搜