2018年7月6日 星期五

[C#] ref、out 傳遞參考型別參數

ref、out關鍵字都是宣告以傳址方式傳遞參數。
宣告方法及呼叫方法時,須註明ref、out關鍵字。
以ref參數傳遞的引數必須先被初始化,out 則不需要。
out 參數要在離開目前的方法之前至少有一次指派值的動作。

public static void Main(string[] args)
{
    int a = 5;
    int b = 10;
    swap(ref a, ref b);
    Console.WriteLine("a=" + a);
    Console.WriteLine("b=" + b);

    int x = 1;
    int y = 2;
    int z = 0;
    add(x, y, out z);

    Console.WriteLine("x=" + x);
    Console.WriteLine("y=" + y);
    Console.WriteLine("z=" + z);
}

//交換變數值
public static void swap(ref T a, ref T b)
{
    T temp = a;
    a = b;
    b = temp;
}

//將x、y變數相加,指定給z
public static void add(int x, int y, out int z)
{
    z = x + y;
}

沒有留言:

張貼留言