C 方法引數

2021-10-06 09:46:40 字數 1757 閱讀 5915

c#程式設計方法引數:形式引數與實際引數和引數傳遞機制

方法引數的本質是為了在呼叫者和方法之間實現資料交換, 是方法介面的重要組成部分。

呼叫者在呼叫方法時,需要注意方法引數的個數、型別、位 置以及傳遞方向等規定。

## 形式引數

形式引數簡稱為形參,指的是方法定義時方法頭中的形式參 數,這些形式引數在方法未被呼叫時不佔據記憶體的儲存單元, 只為了描述方法內的處理機制,其目的是用來接收呼叫該方法 時傳入的引數。

形式引數是屬於方法本身的變數,其初值**於方法的呼叫, 只有在程式執行過程中呼叫了方法,形參才有可能得到具體的 值,並參與運算,執行方法的功能。

實際引數

呼叫方法時,實際傳入到方法的引數稱為實際引數。實際參 數必須有乙個確定的值,它可以是常量、變數、表示式,甚至 是另乙個方法呼叫的返回值。

實參的傳遞以形參為依據,其型別、數目、位置都要與形參 定義相符合。

如果實際引數和形式引數的定義不一致,則在呼叫方法時會 出現編譯錯誤或者邏輯錯誤。

同時,實際引數還必須與方法定義時形式引數的數學、物理 等意義相同,否則程式執行也會出現邏輯錯誤。

引數傳遞機制

根據引數傳遞機制的不同,c#方法的形式引數分為四種:值形參、引用形參、輸出形參以及形引數組,通過在形參定義 時新增不同的引數描述符來表示。

1. 值形參

宣告時不帶修飾符的形參是值形參。

乙個值形參對應於方法的乙個區域性變數,只是它的初始值來 自該方法呼叫所提供的相應實參。

當形參是值形參時,要求方法呼叫中的對應實參必須可以隱 式轉換為形參的型別。

2. 引用形參

用 ref 修飾符宣告的形參是引用形參。

引用形參所表示的儲存位置就是方法呼叫時給出的那個實參 的儲存位置。

當形參為引用形參時,方法呼叫中的對應實參必須由關鍵字 ref 並後接乙個與形參型別相同的變數組成。變數在可以作為 引用形參傳遞之前,必須先明確賦值。

在採用引用形參的方法中,多個名稱可能表示同一儲存位置。

3. 輸出形參

用out修飾符宣告的形參是輸出形參。

輸出形參所表示的儲存位置就是在該方法呼叫中作為實參給 出的那個變數所表示的儲存位置。

輸出引數可用於從方法向呼叫者傳遞資料。

當形參為輸出形參時,方法呼叫中的相應實參必須由關鍵字 out 並後接乙個與形參型別相同的變數組成。

變數在可以作為輸出形參傳遞之前不一定需要明確賦值,但 是進行方法呼叫後,該變數將會被明確賦值。

在方法內部,輸出形參最初被認為是未賦值的,因而必須在 使用它的值之前明確賦值,並且在方法返回之前,該方法的每 個輸出形參都必須被明確賦值。

static

intsearch

(int x,

int y,

int z,

outint max)

if(x>z)

if(y>z)

min=x;

max=z;

return min;

//由方法返回值帶回最小值,輸出形參帶回最大值

}static

void

main()

,min is "

,max,min)

;}

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 方法引數 值引數,引用引數,輸出引數

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

c 方法過載,可選引數,命名引數。

其實這裡沒什麼可說哦,c 的語法大同小異。先看一段 方法過載,可選引數兩種技術一起使用,很難一眼看出最終呼叫的是那個方法。只有在所有引數 可選引數除外 都恰好有乙個實參,而且該引數具有相容型別的情況下,才說乙個呼叫適用於乙個方法。雖然這限制了可呼叫方法的數量,但不足唯一性的表示方法。為了進一步區分方...