C# 中的 ref 和 out 都相当于传地址(引用传递),调用者传入的是变量的引用,而非值的副本。
ref
ref 传递引用,要求变量在传入之前必须已完成初始化。
void Start ()
{
string str="11111";
func(ref str);
print(str);
}
void func(ref string str)
{
str = "2222";
}
out
out 同样传递引用,但不要求调用前初始化,而是要求在被调用函数内完成初始化。
void Start () {
string str;
func(out str);
print(str);
}
void func(out string str)
{
str = "2222";
}