ref
关键字通过引用(而非值)传递参数。
通过引用传递的效果是,对所调用方法中的参数进行的任何更改都反映在调用方法中。
例如,如果调用方传递本地变量表达式或数组元素访问表达式,所调用方法会将对象替换为 ref 参数引用的对象,然后调用方的本地变量或数组元素将开始引用新对象。
若要使用 ref
参数,方法定义和调用方法均必须显式使用 ref
关键字,如下面的示例所示。
传递到 ref
形参的实参必须先经过初始化,然后才能传递。
这与 out
形参不同,在传递之前,不需要显式初始化该形参的实参。 有关详细信息,请参阅 out。
类的成员不能具有仅在 ref
和 out
方面不同的签名。
如果类型的两个成员之间的唯一区别在于其中一个具有 ref
参数,而另一个具有 out
参数,则会发生编译错误。