C 中out與ref的區別例項解析

2021-07-24 17:50:35 字數 615 閱讀 1458

本文例項講述了c#中out與ref的區別,可以加深c#程式設計人員對out和ref用法的理解,具體分析如下:

一、區別分析:

out和ref作為引數傳遞到方法體中,所傳遞的都是引用位址,兩者在操作上本身沒有區別。

但out傳遞到方法體時,引數會清空,這意味著在方法體內使用out引數前必須賦值。

而ref傳遞到方法體時,其引數也是一起被傳遞進來,所以作為ref引數傳遞,方法體中可以不對其引數賦值。

二、例項**如下:

? 1

2 3

4 5

6 7

8 9

10 11

12 13

14 15

16 17

18 19

20 21

22 23

24 25

26 27

28 29

30 31

32 33

34 35

class program

static bool outmethod(out string str)

static bool refmethod(ref string str) }

c 中ref與out區別

ref 和 out 都是c 中的關鍵字,所實現的功能也差不多,都是指定乙個引數按照引用傳遞。對於編譯後的程式而言,它們之間沒有任何區別,也就是說他們只有語法區別。有如下語法區別 1.ref 傳進去的引數必須在呼叫前初始化,out不必,即 int i somemethod ref i 語法錯誤 som...

C 中out與ref區別

一 ref 參考 與out區別 1 out 只出不進 將方法中的引數傳遞出去,在方法中將該引數傳遞出去之前需要在該方法起始賦初值 在方法外傳遞的該引數可以不用賦值 簡單理解就是 將乙個東西丟擲去之前必須對此東西進行修改,否則就不用丟擲去,修改時的動作必須發生在方法的起始。2 ref 有進有出 在方法...

c 中ref與out的區別

一般情況下是乙個方法返回乙個值,當需要乙個方法返回多個值的時候就要用到ref out.他們基本沒什麼區別,就是一些語法區別。1.ref傳進去的引數必須在呼叫前初始化,out不用。int i somemethod ref i 語法錯誤 somemethod out i 正確2.ref傳進去的引數可以直...