//我的C#是跟著猛哥(劉鐵猛)(算是我的正式老師)《C#語言入門詳解》學習的,微信上猛哥也給我講解了一些不懂得地方,對於我來說簡直是一筆巨額財富,難得良師!
這次與大家一起學習C#中的值參數
傳值參數(也叫值參數)
值參數 (value parameter)
什麼是值參數?
這是從《C#語言規范5.0》中找到的一段定義:
用於傳遞輸入參數。一個值參數相當於一個局部變量,只是它的初始值來自為該形參傳遞的實參。對值參數的修改不影響為該形參傳遞的實參。
值參數可以是可選的,通過指定默認值可以省略對應的實參。
傳值參數--值類型
注意:1.值參數創建變量的副本 2.對值參數的改變不會影響變量的值
看個例子:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace BlogUse 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 Calculator c = new Calculator(); 14 int y = 1024; 15 c.AddOne(y); 16 Console.WriteLine(y); 17 } 18 } 19 20 //准備一個能進行計算的Calculator工具 21 class Calculator 22 { 23 public void AddOne(int x) //這裡的x就是傳值參數 24 { 25 x = x + 1; 26 Console.WriteLine(x); 27 } 28 } 29 }
這是運行結果
注意到了嗎我們明明對變量y調用了AddOne方法使其存儲的值加1,但是為什麼y還是1024呢?
這就是因為方法內的參數是傳進來的變量的副本,我們在方法體內修改的只是y傳進來的一個副本,而這並不影響方法外變量y存儲的值
---------------------------------------------------------------------------------------------------------------------------------------
To be Continued!
下篇與大家一起學習 傳值參數--引用類型,創建新對象
---------------------------------------------------------------------------------------------------------------------------------------
希望廣大網友指出問題所在,指出我哪裡理解錯了,共同交流,共同進步!