我正在创建一个函数,我需要传递一个对象,以便它可以被函数修改。有什么区别:
public void myFunction(ref MyClass someClass)
和
public void myFunction(out MyClass someClass)
我应该使用哪个以及为什么?
ref
告诉编译器在进入函数之前初始化对象,而out
告诉编译器该对象将在函数内初始化。
因此,虽然ref
是双向的,但out
是 out-only。
ref
修饰符意味着:
out
修饰符意味着:
让我们说 Dom 在 Peter 的小隔间里出现关于 TPS 报告的备忘录。
如果 Dom 是一个参考论证,他会有一份备忘录的印刷版。
如果 Dom 是一个争吵,他会让彼得打印一份备忘录的新副本供他随身携带。