gpt4 book ai didi

c# - 必须在控制离开当前方法之前分配 out 参数

转载 作者:行者123 更新时间:2023-11-30 18:49:43 26 4
gpt4 key购买 nike

private void getDetails(out IPAddress ipAddress, out int port)
{
IPAddress Ip;
int Port;

try
{
Ip = IPAddress.Parse(textboxIp.Text);
Port = int.Parse(textboxPort.Text);
}
catch (Exception ex)
{
IPAddress Ip null;
int Port = -1;
MessageBox.Show(ex.Message);
}
}

为什么我得到这个编译器错误?在这两种情况下我的参数都分配给了值

最佳答案

您没有为传递到方法中的参数分配任何值 - ipAddressport。无需声明新的 IpPort 变量,只需将值分配给您传入的参数即可:

private void getDetails(out IPAddress ipAddress, out int port)
{
try
{
ipAddress = IPAddress.Parse(textboxIp.Text);
port = int.Parse(textboxPort.Text);
}
catch (Exception ex)
{
ipAddress = null;
port = -1;
MessageBox.Show(ex.Message);
}
}

编辑: 对于其他开发人员,如果使用“out”,您必须允许变量能够在函数中的所有点设置 - 包括“if”语句和“catch” ,就像这里一样,就像它被返回一样,否则它会给出这个人得到的错误。

关于c# - 必须在控制离开当前方法之前分配 out 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18828133/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com