Ref意思c#

在C#中,"ref"是一個關鍵字,它用於引用傳遞。當使用ref關鍵字時,函式調用中的參數不是按值傳遞,而是按引用傳遞。這意味著函式可以改變傳遞給它的參數的值,並且這些更改在函式調用後仍然可見。

下面是一個簡單的例子:

using System;

public class Program
{
    public static void Main()
    {
        int number = 10;
        RefFunction(ref number); // 使用ref關鍵字
        Console.WriteLine(number); // 輸出將會是20
    }

    public static void RefFunction(ref int number)
    {
        number = 20;
    }
}

在這個例子中,RefFunction 函式通過ref關鍵字接受一個引用,這意味著函式內部的number變數實際上是number參數的一個別名,對其中一個變數的更改也會反映在另一個變數上。因此,當RefFunction 函式將number的值更改為20時,這個更改在函式調用後仍然可見,這就是為什麼 Main 函式中的 number 變數的值也會變成20。

請注意,在使用ref關鍵字時,必須確保函式體內的參數引用的是同一個記憶體位置,否則可能會導致意外的行為。因此,通常情況下,當使用ref關鍵字時,需要在函式調用時提供一個變數的引用,而不是直接提供一個值。