REF(關鍵字)

本詞條是多義詞,共4個義項
更多義項 ▼ 收起列表 ▲

.net的關鍵字,ref關鍵字--讓參數按照引用傳遞。其效果是,當控制權傳遞迴調用方法時,在方法中對參數所做的任何更改都將反映在該變數中;也等同將值類型的數據使用引用方式傳參。若要使用ref參數,則方法定義和調用方法都必須顯示使用ref關鍵字。ref是 Reference的縮寫。

基本介紹

  • 中文名:ref
  • 外文名:ref
  • 用途:C#中關鍵字通過引用傳遞參數
  • 引用方法:顯式使用
例如:
                class RefExample                {            static void Method(ref int i)            {                i=44;            }            static void Main()            {                int val=0;                Method(ref val);//val is now 44            }        }        
傳遞到ref參數的參數必須最先初始化。這與 out 不同,out 的參數在傳遞之前不需要顯式初始化。儘管refout在運行時的處理方式不同,但它們在編譯時的處理方式是相同的。因此,如果一個方法採用ref參數,而另一個方法採用out 參數,則無法重載這兩個方法。
注意:屬性不是變數,因此不能作為ref參數傳遞。
ref和out兩個參數的不同在於:
1、ref傳進去的參數必須在調用前初始化,out不必,即:
                int i;                SomeMethod(ref i);//語法錯誤        SomeMethod(out i);//通過        
2、ref傳進去的參數在函式內部可以直接使用,而out不可:
        public void SomeMethod(ref int i)                {            int j=i;//通過            //...        }        public void SomeMethod(out int i)        {            int j=i;//語法錯誤        }        
3、ref傳進去的參數在函式內部可以不被修改,但out必須在離開函式體前進行賦值。

相關詞條

熱門詞條

聯絡我們