c# ref與out的區別
相同點:都是輸出引數
不同點:
ref:
1、必須初始化,即:必須賦初始值;
2.有進有出;
3、用在需要被呼叫的方法修改呼叫者的引用的時候。
4、是傳遞引數的位址
out:
1.不需要初始化,即:不需要賦初始值;
2、只出不進;
3、用在需要retrun多個返回值的地方;
4、返回值;
通過**更直觀的看出它們的區別:
ref:
1view codeclass
program211
///12
///使用ref方法,引數必須加ref關鍵字
13///
14///
15///
16private
static
void exchage(ref
int num1,ref
intnum2)
17;num2的值:
", num1, num2);
20int temp =num1;
21 num1 =num2;
22 num2 =temp;
23//
交換後24 console.writeline("
num1的值:;num2的值:
", num1, num2);
25console.readkey();
26 }
out:
1view codeclass
program210
///11
///求和
12///
13///
14///
15///
16private
static
void numsum(int num1,int num2,out
intsum)
1721 }
C Ref 與out 的區別
在c 中,有四種傳遞引數方式 1.傳值 value 無額外修飾符 2.傳址 reference 需修飾符ref,傳入函式的引數必須先賦值 3.輸出引數 output 需修飾符out,適用於return多個返回值,必須在方法中賦值 4.陣列引數 array 需修飾符params 而out是只出不進 外...
C ref與out之間的區別
相同點 方法的定義和呼叫都必須顯示使用ref out關鍵字。都會導致引數按引用傳遞。不同點 傳遞給ref關鍵字的引數必須賦初始值,而out不用。out關鍵字會清空變數,即使變數已經賦值也不行,退出函式時所有out引用個變數都要賦值。說明 ref的應用場景是內部對外部的值進行改變,而out則是內部對外...
C ref和out的區別
首先 兩者都是按位址傳遞的,使用後都將改變原來引數的數值。其次 ref可以把引數的數值傳遞進函式,但是out是要把引數清空,就是說你無法把乙個數值從out傳遞進去的,out進去後,引數的數值為空,所以你必須初始化一次。這個就是兩個的區別,或者說就像有的說的,ref是有進有出,out是只出不進。需求假...