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

public void myFunction(ref MyClass someClass)

public void myFunction(out MyClass someClass)

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

答案

ref告诉编译器,该对象在输入函数之前是初始化的,而out告诉编译器,该对象将在函数内部初始化。

所以虽然ref是双向的,out仅限。

来自: stackoverflow.com