值傳遞與引用傳遞

值傳遞, 只是傳遞副本, 而引用傳遞, 是傳遞一個地址~

    1. using System; 
    2. using System.Collections.Generic; 
    3. using System.Linq; 
    4. using System.Text; 
    5.  
    6. namespace ConsoleApplication10 
    7.     class Program 
    8.     { 
    9.         static void Main(string[] args) 
    10.         { 
    11.             int v = 42; 
    12.             int r = 42; 
    13.             DoWorkVal(v); 
    14.             DoWorkRef(ref r); 
    15.             Console.WriteLine("值傳遞,結果爲{0}!",v); 
    16.             Console.WriteLine("引用傳遞,結果爲{0}!", r); 
    17.         } 
    18.  
    19.         static void DoWorkVal(int param) 
    20.         { 
    21.             param += 10; 
    22.         } 
    23.  
    24.         static void DoWorkRef(ref int param) 
    25.         { 
    26.             param += 10; 
    27.         } 
    28.     } 

 對於值傳遞, 只是傳遞個副本, 因此void的函數沒有返回值, 所以在輸出v的時候還是原來的值, 沒有變化. 對於引用傳遞, 則是把地址傳遞過去,  因此在函數DoWorkRef調用後, r也會隨着變化, 因此會+10, 所以輸出的結果就是52了~

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章