2017年10月1日 星期日

C# : 傳遞參數 - ref / out 方法參數修飾詞 練習

這個練習相當的簡單,是要讓你可以孰悉 ref / out 這兩個方法參數修飾詞的用法與差異。
底下是微軟官方對於這兩個修飾詞的定義。
ref 關鍵字會導致引數由參考加以傳遞,而非透過值
out 關鍵字會導致引數由參考傳遞。 它類似於 ref 關鍵字,只是 ref 需要在傳遞之前,先初始化變數。
static void Main(string[] args)
{
    int normal = 20;
    int ref_int = 10;
    int out_int;
    Method_normal(normal);
    Method_ref(ref ref_int);
    Method_out(out out_int);

    Console.WriteLine($"normal的值為 {normal}");
    Console.WriteLine($"ref_int的值為 {ref_int}");
    Console.WriteLine($"out_int的值為 {out_int}");
    Console.WriteLine($"Press any key for continuing...{Environment.NewLine}");
    Console.ReadKey();
}

private static void Method_normal(int normal)
{
    normal = 999;
}

private static void Method_out(out int out_int)
{
    out_int = 999;
}

private static void Method_ref(ref int ref_int)
{
    ref_int = 999;
}

2 則留言: