‘ref’和‘out’关键词有什么区别?

‘ref’和‘out’关键词有什么区别?

我正在创建一个函数,在该函数中,我需要传递一个对象,以便它可以被该函数修改。在以下方面有何区别:

public void myFunction(ref MyClass someClass)

public void myFunction(out MyClass someClass)

我应该用哪种?为什么?


阿波罗的战车
浏览 595回答 3
3回答

喵喵时光机

ref告诉编译器,在输入函数之前对象进行初始化,而out告诉编译器,对象将在函数内初始化。所以当ref是双向的,out只在外面。

富国沪深

这个ref修饰语是指:值已经设置,并且该方法可以对其进行读取和修改。这个out修饰语是指:该值未被设置,且无法被该方法读取。直到已经设定好了。方法必在回来之前把它设置好。
打开App,查看更多内容
随时随地看视频慕课网APP