假如有这样的两个函数声明:
void fun1(ref StringBuilder sb)
void fun2(out StringBuilder sb)
在调用的时候,除了要在参数前面分别加ref和out以外,还有什么区别那?
区别就是:
ref 假定参数sb在传入函数以前已经初始化了
out需要sb在函数内初始化
所以 ref 参数在函数中可以理解为可读可写的
而out则是可写的
假如有这样的两个函数声明:
void fun1(ref StringBuilder sb)
void fun2(out StringBuilder sb)
区别就是:
ref 假定参数sb在传入函数以前已经初始化了
out需要sb在函数内初始化
所以 ref 参数在函数中可以理解为可读可写的
而out则是可写的