有没有办法知道是否已经设置了输出参数。这是我正在寻找的伪代码:
public virtual string blabla(long num, out bool bval)
{
if (!bval.HasValue)
{
//Do some default logic
bval = defaultValue;
}
return blabla2(num, bval);
}
最佳答案
你不能 - 你不能读取变量,直到它在你的方法中被明确分配。您应该将其视为一个局部变量,在方法开始时已声明但未分配任何值 - 但您必须在返回之前为其分配一个值。 (如果抛出异常,不给它赋值也没关系。)
如果您想要一个参数将信息作为方法的输入 以及向外传播信息,您应该使用ref
而不是out
.
参见 my article on parameter passing获取更多信息。
关于c# - 如何判断是否已经设置了 out 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10366378/