C 函式的引數

2021-08-26 19:04:30 字數 2079 閱讀 5827

函式的引數

(一)函式的ref、out引數

函式引數預設是值傳遞的,也就是「複製乙份」,也就是「複製乙份」,例子:

int age=20;

incage(age);

console.writeline("age=,age");

ref必須先初始化,因為是引用,所以必須先「有」,才能引用,而out則是內部為外部賦值,所以不需要初始化,而且外部初始化也沒用。

ref應用場景內部對外部的值進行改變out則是內部為外部變數賦值,out一般用在函式有多個返回值的場所。

例1:函式引數預設是值傳遞的,也就是「複製乙份」,

namespace refout引數 static void incage(int age) //複製了乙份,所以incage內部改變的是副本。 } }

例2:引數前加ref,因為是引用,外部引數必須先要初始化。

namespace ref引數 static void incage(ref int age) //ref:內部對外部引數的改變 } }

例3:out:內部為外部變數賦值,內部引數要賦值,外部引數不需要初始化,而且外部初始化也沒用.。

namespace out引數 static void incage(out int age) //out:內部為外部變數賦值 } }

例4:交換兩個變數的值

namespace ref應用場景 ,i2=", i1, i2); console.readkey(); } //兩個變數的交換 static void swap(ref int i1, ref int i2) //內部的改變用ref } }

ref應用場景:內部對外部的值進行改變ref應用場景:內部對外部的值進行改變ref應用場景:內部對外部的值進行改變ref的應用場景:內部對外部的值進行改變

例5:數字型的字串轉變為資料型別的數字

namespace out應用場景 ", i); } else console.readkey(); } } }

一般乙個函式只能有乙個返回值若乙個函式要有多個返回值,要用out,這就是out的應用場景。

二、函式的可變引數——params

可變引數:引數的個數可以動態增加的,在引數前面加

params關鍵字。

此部分的內容在我的部落格:《c#

——函式》中的第三部分:函式的引數有詳細的說明,在此不再贅述。

>

最後,函式引數的總結:

確定函式引數的原則:自己能確定的資料自己內部解決,自己確定不了的資料通過引數傳遞。

c#中函式的引數前可加關鍵字(ref,out,params),也可以不加關鍵字(稱為「預設引數」)。

函式引數預設是值傳遞的,也就是「複製乙份」。

引數前加ref ,out和params 的區別:

區 別:

params 關鍵字是可變引數的標誌,引數的個數可以動態增加的

out內參賦值,out一般用在函式有多個返回值的場所

ref外參賦值,內部對外部的值進行改變

相同點:

外部和內部引數前要同時加、減 ref、out,前後要保持一致性。

c 函式引數

如果函式要使用引數,則必須宣告接受引數值的變數,這些變數稱為函式的形式引數 形式引數就像函式內的其他區域性變數,在進入函式時被建立,退出函式時被銷毀 當呼叫函式時,有三種向函式傳遞引數的方式 傳值呼叫 該方法把引數的實際值複製給函式的形式引數,在這種情況下,修改函式的形式引數對實際引數沒有影響 預設...

C 函式引數

函式傳遞的是方法外的變數的副本,函式內的變數變化,不會影響函式外部的變數 static void main string args static void add int a 當引用型別的變數傳入函式後,在方法內部重新給引數賦值,外部變數和內部引數相互之間不會影響,這種情況一般很少見。static ...

C 函式引數

變數根據儲存方式的不同,可以分為 值型別和引用型別,它們之間的區別 值型別在記憶體的乙個地方 堆疊 儲存它們自己和它們的內容 引用型別在記憶體的乙個地方 堆 儲存乙個引用,而在另外乙個地方儲存內容。還用引用型別可以為null,而值型別總是包含乙個值,簡單型別中的string和object是引用型別,...