c 中值傳遞和引用傳遞

2021-08-16 04:40:36 字數 694 閱讀 9366

物件在方法間傳值,傳遞的是物件的值,或者這個物件的引用的副本;

//首先建立乙個物件

public

class orderinfo

}//建立乙個方法去改變這個物件

private

void

change(orderinfo order)

//然後通過方法的呼叫檢視變化

private

void

btnchange_click(object sender, eventargs e)

上面的結果列印出來的是 test;

原因是方法的呼叫傳遞的其實是乙個物件的引用的複製,將這個副本的引用斬斷後再給它賦值新的引用不會改變原來的引用的物件的值;

如果想傳遞原引用過去,就得使用ref 關鍵字:

//修改改變物件的方法

private

void

changeref(ref orderinfo order)

//修改呼叫的方法

private

void

btnchangeref_click(object sender, eventargs e)

列印結果為 kevinref

這個時候由於ref的作用,使得物件在方法間傳遞是按照原引用傳遞的。

JAVA中值傳遞和引用傳遞

浮點型 float,double 字元型 char 布林型 boolean 引用資料型別 實際引數 呼叫方法時寫的具體數值。public static void main string args public static void swap int a,int b a 20 b 10 num1 1...

Python中值傳遞和引用傳遞區別

python中對乙個函式可以傳遞引數,但是如何分辨是值傳遞還是引用傳遞,不是程式設計師手動控制的,而是python根據你傳入的資料物件,自動識別的。如果你傳入的引數物件是可變物件 列表,字典,這個時候就是引用傳遞,如果引數在函式體內被修改,那麼源物件也會被修改。如果你傳入的引數物件是不可變的物件 數...

Python中值傳遞和引用傳遞區別

python中對乙個函式可以傳遞引數,但是如何分辨是值傳遞還是引用傳遞,不是程式設計師手動控制的,而是python根據你傳入的資料物件,自動識別的。如果你傳入的引數物件是可變物件 列表,字典,這個時候就是引用傳遞,如果引數在函式體內被修改,那麼源物件也會被修改。如果你傳入的引數物件是不可變的物件 數...