C# 对返回类型感到困惑
您好,我正在尝试在C#中创建一个按钮,如果您按下它。它应该产生一个关于所附txt文件的IP地址的消息框。但我遇到了无法修复的错误。我想我的返回类型搞错了,我一直有问题,这是代码C# 对返回类型感到困惑,c#,io,C#,Io,您好,我正在尝试在C#中创建一个按钮,如果您按下它。它应该产生一个关于所附txt文件的IP地址的消息框。但我遇到了无法修复的错误。我想我的返回类型搞错了,我一直有问题,这是代码 private String getIPAddress() { String x; using (TextReader configfile = File.OpenText("PC104Configs.txt")) while (configfile.P
private String getIPAddress()
{
String x;
using (TextReader configfile = File.OpenText("PC104Configs.txt"))
while (configfile.Peek() > -1) // If therre are no more characters in this line
{
x = configfile.ReadLine();
if (x.Length == 0)
{
// This is a blank line
continue;
}
if (x.Substring(0, 1) == ";")
{
// This is a comment line
continue;
}
if (x == trueIP)
{
// This is the real deal
testPort = configfile.ReadLine();
testIP = trueIP;
return MessageBox.Show(trueIP);
}
} // End of 'while' there are more characters loop
UnitToTest.Text = "";
MessageBox.Show("Specified Configuration Not Found!");
return (false);
}
private void btnSendConfig_Click(object sender, EventArgs e)
{
getIPAddress();
}
首先,您的“getIPAddress”函数应该返回一个字符串。但是,它返回一个布尔值(false)。我想你真的需要返回“X”。另外,我怀疑您是否真的想从MessageBox.Show(trueIP)返回结果。您声明
getIPAddress
以返回字符串,但随后尝试返回对话框结果
和bool
听起来您需要更精确地定义getIPAddress
应该做什么。函数签名意味着您将返回一个包含一个或多个IP地址的字符串(或一组字符串),但您的代码似乎要做的是弹出一个消息框,其中包含找到的第一个IP地址。您从一个期望返回字符串的函数返回布尔值。因此,这:
private String
…不允许返回,这是:
return (false);
…或
…false是布尔值,Show()方法返回一个DialogResult,您的函数必须返回一个字符串。“但是我遇到了无法修复的错误。”您能显示错误消息吗?欢迎使用,我们一直在期待您的到来。为什么需要configfile.ReadLine()代码>两次,trueIP在哪里声明?
return MessageBox.Show(trueIP);