1. 程式人生 > >10 ref 和 out 之間的差別

10 ref 和 out 之間的差別


(1) 兩者都是按地址傳遞的,使用後都將改變原來的數值

(2) ref傳進去的引數必須在呼叫前初始化,out不必
(3) ref傳進去的引數在函式內部能夠直接使用,而out不可
(4) ref傳進去的引數在函式內部能夠不被改動,但out必須在離開函式體前進行賦值

(5) ref是有進有出,out是僅僅出不進


        string outString = "This is the original outString";
        Console.WriteLine(outString);
        outMethod(out outString);
        Console.WriteLine(outString);

        string refString = "This is the original ref string";
        Console.WriteLine(refString);
        refMethod(ref refString);
        Console.WriteLine(refString);