一尘不染

'ref'和'out'关键字有什么区别?

c#

我正在创建一个需要传递对象的函数,以便可以通过该函数对其进行修改。之间有什么区别?

public void myFunction(ref MyClass someClass)

public void myFunction(out MyClass someClass)

我应该使用哪个?为什么?


阅读 265

收藏
2020-05-19

共1个答案

一尘不染

ref告诉编译器对象在进入函数之前已初始化,而out告诉编译器对象将在函数内进行初始化。

因此,尽管ref双向,但out仅此。

2020-05-19