傳遞參數 (C# 程式設計手冊)

在 C# 中,引數可以藉由傳值 (By Value) 或傳址 (By Reference) 方式來傳遞至參數。 以傳址方式傳遞,可讓函式成員、方法、屬性、索引子、運算子及建構函式變更參數的值,並在呼叫環境中保存該變更。 若要以傳址方式傳遞參數,請使用 ref 或 out 關鍵字。 為了簡化,所以本主題的範例中只使用 ref 關鍵字。 如需 ref 與 out 之間差異的詳細資訊,請參閱 ref (C# 參考)out (C# 參考)使用 ref 和 out 傳遞陣列 (C# 程式設計手冊)

下列範例會說明值和參考參數之間的差異。

class Program
{
    static void Main(string[] args)
    {
        int arg;

        // Passing by value.
        // The value of arg in Main is not changed.
        arg = 4;
        squareVal(arg);
        Console.WriteLine(arg);
        // Output: 4

        // Passing by reference.
        // The value of arg in Main is changed.
        arg = 4;
        squareRef(ref arg);
        Console.WriteLine(arg);
        // Output: 16 
    }

    static void squareVal(int valParameter)
    {
        valParameter *= valParameter;
    }

    // Passing by reference
    static void squareRef(ref int refParameter)
    {
        refParameter *= refParameter;
    }
}

如需詳細資訊,請參閱下列主題:

C# 語言規格

如需詳細資訊,請參閱 C# 語言規格。 語言規格是 C# 語法和用法的決定性來源。

請參閱

參考

方法 (C# 程式設計手冊)

概念

C# 程式設計手冊