在初始化之前比较参数

Shi*_*ira 1 c# 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;
}
Run Code Online (Sandbox Code Playgroud)

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

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

Kar*_*ram 6

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

你可以试试ref吗?