【问题标题】:Compare out parameter before initialization it在初始化之前比较参数
【发布时间】:2014-01-27 08:03:05
【问题描述】:

我尝试将字符串变量与字符串输出参数进行比较,但它没有被编译。 似乎在比较之前等待初始化,但我无法更改之前的值。

public bool DownloadZipFile(out string zipUrl)
{
        string zip = System.Windows.Forms.Clipboard.GetText();
        // my code ...

        if (zipUrl != string.Empty && zipUrl == zip)
            Assert.Fail("Copy Zip Url : zip url not updated . zip url equal to prev zip url");

        zipUrl = zip;
        return true;
}

当我构建项目时,我得到:

错误 2 使用未分配的输出参数 'zipUrl'

【问题讨论】:

  • 使用 ref 参数。

标签: c# out


【解决方案1】:

out 参数应该在离开函数之前作为uninitialized 引用和initialized 传递到方法中。鉴于此,在您的代码中您试图比较一个未初始化的变量,这就是您得到编译错误的原因。

你能用ref试试吗?

【讨论】:

    猜你喜欢
    • 2021-08-17
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-17
    相关资源
    最近更新 更多