C#參數傳遞的三種方法:一般傳值、 ref、out

来源:互联网 发布:java开源社区聚类 编辑:程序博客网 时间:2024/06/08 08:14
    static void Main (string[] args) {        int n = 0;        //是指n把自己複製一份給A()的方法參數p(或者稱為n傳0這個值給p),意味著n、p是分別兩種不一樣的物件,互不干擾        A(n);        Debug.Log("n=" + n);//output:n=0        //是指n把自己的記憶體位置傳給ARef()的方法參數p,意味著n、p共用一個記憶體        ARef(ref n);        Debug.Log("n=" + n);//output:n=2        //也是傳記憶體位置給AOut()的方法參數p(所以此時n跟p使用同一個記憶體),但是離開AOut()方法前,一定會被重新覆寫p(也等於重新覆寫n)        AOut(out n);        Debug.Log("n=" + n);//output:n=3    }    static void A (int p) {        p = 1;    }    static void ARef (ref int p) {        p = 2;    }    static void AOut (out int p) {        p = 3;    }


參考文章:C# ref/out 關鍵字與傳遞參考型別參數

0 0
原创粉丝点击