Vala 中 "ref" 和 "out" 关键字的用途是什么?

What is the purpose of the "ref" and "out" keywords in Vala?

应该如何以及何时使用这些关键字?

它们的目的是否与 C# 中的相同?

documentation 表明它们与 C# 中的完全相同:

  • 'out' 从调用方: 你可以传递一个未初始化的变量给 该方法,您可能希望它在该方法之后被初始化 returns
  • 'out' 来自被调用方:参数被认为是未初始化的并且 你必须初始化它
  • 'ref' 来自调用方:你的变量 传递给方法必须初始化,它可能会被更改或 不是方法
  • 'ref' from callee side: 考虑参数 已初始化,您可以更改或不更改