C#/ref、out

发布时间 2023-08-30 09:04:03作者: 爱可明

ref和out都用于引用传递参数,允许函数修改参数的值。

主要区别: - ref参数必须在调用前初始化,out参数不需要初始化但必须在函数内赋值。

- 使用ref和out时,ref参数调用前和调用后值都可以访问,out参数调用前不能访问值只能赋值。

- ref允许参数的值在函数内被修改,out只能在函数内赋初值但不能读取参数原来的值。

 - 类的成员函数签名如果只有ref和out的区别,是允许的。

- out参数在函数结束前必须被初始化,ref参数不需要。

一般来说: - ref用于函数内读取和修改参数。 - out用于函数内初始化参数,调用者读取函数内赋的值。 所以总的来说,ref允许双向赋值,out只允许单向赋值