“并非所有代码路径都返回值”错误消息

时间:2013-10-12 14:25:55

标签: c#

我写了这个方法,但它给了我这个错误信息。 " 并非所有代码路径都返回值"在 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();
    }

2 个答案:

答案 0 :(得分:3)

您必须从方法返回string,但您没有返回获取错误原因的字符串。您可以使用myInput语句返回正在使用的输入并存储在return中。

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

答案 1 :(得分:0)

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

如果您需要一些其他提示,请参阅return保留字的MSDN文档:http://msdn.microsoft.com/en-us/library/1h3swy84.aspx