c# - 如何判断是否已经设置了 out 参数?

标签 c# out

有没有办法知道是否已经设置了输出参数。这是我正在寻找的伪代码:

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/

相关文章:

c# - .NET MVC 自定义路由

c# - Notepad 在底层与 PRINT 命令有何不同?

c# - 缺少引用 OLEDB 连接类型的库

c++ - 捕获音频输出

c++ - 如何将函数参数标记为输出

exception - C# 索引超出范围异常

c# - 默认等效于 DBNull.Value

c# - is 和 typeof 哪个更快

c# - 获取 string[] 的输出参数作为 IEnumerable<string>

jquery - jquery中的点击