在初始化之前比较参数

时间:2014-01-27 08:03:05

标签: c# out

我尝试将字符串变量与string-out参数进行比较,但未编译。 它似乎等待比较之前的初始化,但我不能改变之前的值。

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'

1 个答案:

答案 0 :(得分:6)

在离开函数之前,

out参数应该作为uninitialized引用和initialized传递给方法。鉴于此,在您的代码中,您试图比较未初始化的变量,这就是为什么会出现编译错误。

您可以尝试使用ref吗?