-4

我写了这个方法,但它给了我这个错误信息。GetInputstring上的“并非所有代码路径都返回值” 我该怎么办?提前致谢。

    public string GetInputstring(string myInput)
    {
        int myInt;

        Console.Write("Please enter a number: ");
        myInput = Console.ReadLine();

        myInt = Int32.Parse(myInput);

        if (myInt <= 0)
        {
            Write1(myInt);
        }
        else
        {
            Write2(myInt);
        }
        Console.ReadKey();
    }
4

2 回答 2

3

您必须string从该方法返回,但您没有返回导致错误的字符串。myInput您可以通过 usingreturn语句返回从用户获取并存储的输入。

public string GetInputstring(string myInput)
{
    int myInt;

    Console.Write("Please enter a number: ");
    myInput = Console.ReadLine();

    myInt = Int32.Parse(myInput)

    if (myInt <= 0)
    {
        Write1(myInt);
    }
    else
    {
        Write2(myInt);
    }
    Console.ReadKey();
    return myInput;
}
于 2013-10-12T14:26:58.107 回答
0

您的方法不返回任何内容。如果您不打算返回值,则应将其设置为 void 而不是public string GetInputString(string myInput)format 中的值public void GetInputString(string myInput)。如果您确实希望您的方法返回一个值,则必须从代码的每个可能的分支/路径中返回一些内容。

如果您需要一些额外的提示,这里是return保留字的 MSDN 文档:http: //msdn.microsoft.com/en-us/library/1h3swy84.aspx

于 2013-10-12T14:28:53.020 回答