C 裡面ref和out關鍵字使用與區別

2021-08-17 17:08:09 字數 562 閱讀 4595

1.  ref的使用:使用ref進行引數的傳遞時,該引數在建立時,必須設定其初始值,且ref側重於修改;

2. out的使用: 採用out引數傳遞時,該引數在建立時,可以不設定初始值,但是在方法中必須初始化,out側重於輸出;

注釋:當希望方法返回多個值時,可以用out,並且乙個方法中的引數可以有乙個或多個out引數;使用 out 引數,必須將引數作為 out 參數顯式

傳遞到方法中,但是out 引數的值不會被傳遞到 方法中,且屬性不是變數,不能作為 out 引數傳遞。

ref是有進有出,而out是只出不進。

舉例如下:

out的使用

class program

",tmp); //這時tmp的值為「在這裡面賦值了」

console.readkey(true);}}

class user

}使用out結果輸出: 在這裡面賦值了

ref的使用

class program

",tmp);

console.readkey(true);}}

class user 

}

ref 關鍵字out關鍵字

using system using system.collections.generic using system.linq using system.text using system.threading.tasks namespace outandref ref修飾方法的引數,在呼叫的時候必須...

ref關鍵字 out關鍵字 區別

ref 和 out 關鍵字比較怪,他們在方法的引數中使用,今天對他們做了認真的研究 msdn上的定義 ref關鍵字使引數按引用傳遞。其效果是,當控制權傳遞 用方法時,在方法中對引數所做的任何更改都將反映在該變數中。若要使用ref引數,則方法定義和呼叫方法都必須顯式使用ref關鍵字。out關鍵字會導致...

ref和out關鍵字初解

ref和out關鍵字初解 引數可以通過引用和值傳遞給方法。通過引用傳遞給方法的變數可以有呼叫它的方法作自由改變,所作的修改會影響原來的變數的值 在c 中,除非特別說明,所有的引數都是值傳遞。這是預設情況,也可以使用ref關鍵字,迫使值引數通過引用傳遞給方法,則給方法對變數所作的修改都會影響原來物件的...