首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 方法參數修飾詞 ref、out、params 詳細解析(二)

     編輯:關於C語言

參數傳遞機制

  • 值類型:預設傳遞複本,方法內修改不影響原變數。
  • 參考類型:傳遞參考的複本(淺拷貝),修改物件內容會反映到原物件,但改變參考本身(指向新物件)不影響原變數。

修飾詞說明

修飾詞用途需初始化方向
無值傳遞/參考傳遞是輸入
ref參考傳遞,可讀寫是輸入/輸出
out輸出參數,必須在方法內指派否輸出
params參數陣列,可傳入零或多個引數視情況輸入

程式碼範例

class MyClass { public int Val = 20; }

class Program
{
    static void MyMethod(MyClass f1, int f2)
    {
        f1.Val = f1.Val + 5; // 影響原物件
        f2 = f2 + 5;       // 不影響原變數
        f1 = new MyClass();  // 不影響原參考
    }

    static void Main()
    {
        MyClass A1 = new MyClass();
        int A2 = 10;
        MyMethod(A1, A2);
        // A1.Val = 25, A2 = 10
    }
}

記憶體圖解

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved