【发布时间】:2013-11-13 10:39:37
【问题描述】:
我正在更新一个包含 out 参数的方法。在将其设置为默认值之前,我需要检查参数的值。
public int DoWork(out int param)
{
param = 0;
}
但是,当我尝试做这样的事情时
public int DoWork(out int param)
{
if(param == 8)
param = 0;
}
我收到一条错误消息,提示 “使用未分配的输出参数 'param'”。
有没有办法在分配之前使用传递给方法的值?
更新:我不能使用 ref 关键字。很多代码会中断,这不是设计的一部分
【问题讨论】:
-
你必须使用关键字 ref
-
我认为您对 out 关键字的作用感到困惑。也许您打算使用
ref? -
你可以改用
ref参数 -
我无法将其更改为 ref。许多其他代码会中断。
-
@miguelarcilla 你可以通过调用 pointer 之类的东西来破解它,但我不赞成这样的事情 ;)
标签: c# parameter-passing params out param