C 中ref和out用法和區別

2021-08-22 11:38:55 字數 416 閱讀 3833

ref和out是c#開發中經常使用的關鍵字,ref引數是引用,out引數為輸出引數。

1、out必須在函式體內初始化,在外面初始化沒意義,

也就是說,out型的引數在函式體內不能得到外面傳進來的初始值。

2、ref必須在函式體外初始化。

3、都是按位址傳值,都在函式體的任何修改都將影響到外面。

例如:(1)out示例

class class1

public static void test(out int a)

}

(2)ref示例

class class1

public static void test(ref int a)

}

c 中out和ref的用法與區別

一 相同之處 ref和out都對函式引數採用引用傳遞形式 不管是值型別引數還是引用型別引數,並且定義函式和呼叫函式時都必須顯示生命該引數為ref out形式。兩者都可以使函式傳回多個結果。二 不同之處 兩種引數型別的設計思想不同,ref的目的在於將值型別引數當作引用型引數傳遞到函式,是函式的輸入引數...

C 中ref和out的區別

最近在許多論壇上看到關於了ref和out的區別,發現解釋的都不非常理想。現在談談我自己的理解 如下 方法引數上的 out 方法引數關鍵字使方法引用傳遞到方法的同乙個變數。當控制傳遞 用方法時,在方法中對引數所做的任何更改都將反映在該變數中。當希望方法返回多個值時,宣告 out 方法非常有用。使用 o...

C 中out和ref的區別

ref是傳遞引數的位址,out是返回值,兩者有一定的相同之處,不過也有不同點。使用ref前必須對變數賦值,out不用。out的函式會清空變數,即使變數已經賦值也不行,退出函式時所有out引用的變數都要賦值,ref引用的可以修改,也可以不修改。區別可以參看下面的 using system static...