C 方法引數 out ref param 詳解

2022-08-21 07:24:10 字數 1281 閱讀 3505

ref和out都對函式引數採用引用傳遞形式——不管是值型別引數還是引用型別引數,並且定義函式和呼叫函式時都必須顯示生命該引數為

ref/out形式。兩者都可以使函式傳回多個結果。

ref 類似於 php 中在函式引數前的 &

兩者區別:

兩種引數型別的設計思想不同,ref的目的在於將值型別引數當作引用型引數傳遞到函式,是函式的輸入引數,並且在函式內部的任何改變也

都將影響函式外部該引數的值;而out的目的在於獲取函式的返回值,是輸出引數,由函式內部計算得到的值再回傳到函式外部,因此必須在

函式內部對該引數賦值,這將沖掉函式外部的任何賦值,使得函式外部賦值毫無意義。

表現為:

1、out必須在函式體內初始化,這使得在外面初始化變得沒意義。也就是說,out型的引數在函式體內不能得到外面傳進來的初始值。

2、ref必須在函式體外初始化。

3、兩者在函式體內的任何修改都將影響到函式體外面。

語法:

namespace

public

static

void incr(ref

intn1)

public

static

void decr(out

intn1) }}

params 關鍵字可以指定在引數數目可變處採用引數的方法引數,類似於js 中的 arguments (js中arguments無需指定,函式內可直接使用)(php中 func_get_arg() 或者使用擴充套件運算子...$args 用乙個變數已陣列的形式接收所有引數)

在方法宣告中的 params 關鍵字之後不允許任何其他引數,並且在方法宣告中只允許乙個 params 關鍵字

引數型別必須保持一致

C 方法引數

c 程式設計方法引數 形式引數與實際引數和引數傳遞機制 方法引數的本質是為了在呼叫者和方法之間實現資料交換,是方法介面的重要組成部分。呼叫者在呼叫方法時,需要注意方法引數的個數 型別 位 置以及傳遞方向等規定。形式引數 形式引數簡稱為形參,指的是方法定義時方法頭中的形式參 數,這些形式引數在方法未被...

C 方法引數 params

1.上測試 using system using system.collections.generic using system.text using system.threading namespace leaf console.writeline nb.傳2個引數 testmethod 1,2 ...

C 方法引數 值引數,引用引數,輸出引數

使用值引數,通過複製實參的值到形參的方式,把資料傳遞到方法,方法被呼叫的時候,系統做如下操作 在棧中為形參分配空間 複製實參到形參。注意 乙個值引數的實參不一定是變數,它可以是任何能夠計算成相應資料型別的表示式。在把變數用作實參之前,變數必須被賦值 除非是輸出引數,這個稍後介紹 對於引用型別,變數可...