當前位置:編程學習大全網 - 源碼下載 - ref和out的區別

ref和out的區別

首先:兩者都是按地址傳遞的,使用後都將改變原來參數的數值。

其次:ref可以把參數的數值傳遞進函數,但是out是要把參數清空,就是說妳無法把壹個數值從out傳遞進去的,out進去後,參數的數值為空,所以妳必須初始化壹次。這個就是兩個的區別,或者說就像有的網友說的,ref是有進有出,out是只出不進。

ref和out的區別在C# 中,既可以通過值也可以通過引用傳遞參數。通過引用傳遞參數允許函數成員更改參數的值,並保持該更改。若要通過引用傳遞參數, 可使用ref或out關鍵字。ref和out這兩個關鍵字都能夠提供相似的功效,其作用也很像C中的指針變量。它們的區別是:

1、使用ref型參數時,傳入的參數必須先被初始化。對out而言,必須在方法中對其完成初始化。

2、使用ref和out時,在方法的參數和執行方法時,都要加Ref或Out關鍵字。以滿足匹配。

3、out適合用在需要retrun多個返回值的地方,而ref則用在需要被調用的方法修改調用者的引用的時候。

方法參數上的 out 方法參數關鍵字使方法引用傳遞到方法的同壹個變量。當控制傳遞回調用方法時,在方法中對參數所做的任何更改都將反映在該變量中。

當希望方法返回多個值時,聲明 out 方法非常有用。使用 out 參數的方法仍然可以返回壹個值。壹個方法可以有壹個以上的 out 參數。

若要使用 out 參數,必須將參數作為 out 參數顯式傳遞到方法。out 參數的值不會傳遞到 out 參數。

不必初始化作為 out 參數傳遞的變量。然而,必須在方法返回之前為 out 參數賦值。

屬性不是變量,不能作為 out 參數傳遞。

擴展資料

當希望方法返回多個值時,聲明?out方法很有用。使用 out參數的方法仍然可以將變量用作返回類型(請參見?return),但它還可以將壹個或多個對象作為 out參數返回給調用方法。此示例使用 out在壹個方法調用中返回三個變量。請註意,第三個參數所賦的值為?Null。這樣便允許方法有選擇地返回值。

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

參考資料:

百度百科 REF?百度百科 out

  • 上一篇:郭德綱的關於鬼怪的單口相聲有哪些
  • 下一篇:同花順裏MA1 MA2分別表示什麽
  • copyright 2024編程學習大全網