对返回类型感到困惑

时间:2012-07-26 01:14:33

标签: c# io

您好我正在尝试在C#中创建一个按钮,如果按下它。它应该在附加的txt文件中生成一个关于IP地址的消息框。但我得到的错误是我无法解决的。我想我的返回类型混淆了,我总是遇到麻烦,这就是代码。

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();
    }

3 个答案:

答案 0 :(得分:2)

首先,你的“getIPAddress”函数应该返回一个字符串。但是,你让它返回一个布尔值(false)。我想你真的需要回归'X'。另外,我怀疑你真的想从MessageBox.Show(trueIP)返回结果。

答案 1 :(得分:2)

您正在从期望返回字符串的函数返回一个布尔值。因此,这个:

private String

..不允许返回,这个:

return (false);

..或

return MessageBox.Show(trueIP);

.. false是布尔值,Show()方法返回一个DialogResult,你的函数必须返回一个字符串。

答案 2 :(得分:0)

您声明getIPAddress返回String,但随后您又尝试返回DialogResultbool

听起来你需要更准确地定义getIPAddress应该做什么。函数签名意味着您将返回包含一个或多个IP地址的字符串(或字符串集),但您的代码似乎想要做的是弹出一个带有第一个IP地址的消息框。