int i =5;
classA _classAObj;
void print(out i)
{
i=10;
Console.Write(i);
}
void printMethod(out _classAObj)
{
_classAObj = new ClassB();
Console.Write(typeof(_classAObj ).ToString());
}
我需要更清楚地了解此
中的referenceType行为更改printmethod()
答案 0 :(得分:2)
为什么您认为它只能用于值类型? documentation没有提到它,而且编译得很好:
public void Foo(out string test)
{
test = "";
}
out
和ref
相似,但out
需要在方法中初始化变量,而ref
要求在将其传递给方法之前对其进行初始化。两者都可以作为参考类型。
J.Skeet的这篇文章值得一读,并解释一下:Parameter passing in C#