繁体   English   中英

out关键字仅用于值类型变量吗? 不能将其用于引用变量,例如类对象

[英]out keyword is used only for Value types variables ? Cant it be used against reference Variables like Class Objects

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()

您为什么认为它只能用于值类型? 文档没有提及它,并且可以很好地编译:

public void Foo(out string test)
{
    test = "";
}

outref相似,但是out需要在方法中初始化变量,而ref需要在将其传递给方法之前对其进行初始化。 两者都可以是引用类型。

来自J.Skeet的这篇文章值得一读,并对其进行了全部解释: 在C#中传递参数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM