3

在我的代码中,

            int x;
            int y;
            x = 7;



            if (x == y)
            {
                Console.WriteLine("The numbers are the same!");

            }
            else
            {
                Console.WriteLine("The numbers are different.");
            }
            Console.ReadLine();


            for (int i = 0; i < y; i--)
            {
                Console.WriteLine("{0} sheep!", i);
            }
            Console.ReadLine();


            string[] colors = new string[y];
            colors[0] = "green";
            colors[1] = "yellow";
            colors[y] = "red";


            Console.WriteLine("Your new code is {0}.", Code(x, y));
            Console.ReadLine();

        }   

            static int Code(int myX, int myY)
            {
                int answer = myX * myX - myY;
            }
    }
}

有一个错误指出:

'ConsoleApplication1.Program.Code(int, int)':并非所有代码路径都返回值'。

我不确定代码有什么问题。解决方案?

4

3 回答 3

10

很直接。你的功能:

static int Code(int myX, int myY)
{
    int answer = myX * myX - myY;
}

要求您返回一个整数。我认为您打算这样做:

static int Code(int myX, int myY)
{
    return myX * myX - myY;
}
于 2013-10-30T20:06:41.210 回答
3

您需要返回 'answer' 的值,否则,如错误所述,代码不返回值。

注意:每当您以使用它的方式使用“int”或“string”时,您必须始终返回一个值

static int Code(int myX, int myY)
    {
        int answer = myX * myX - myY;
        return answer;
    }
于 2013-10-30T20:08:24.670 回答
2
static int Code(int myX, int myY)
{
     int answer = myX * myX - myY;
}

您的函数不返回结果(就像错误状态一样)。它应该是:

static int Code(int myX, int myY)
{
    int answer = myX * myX - myY;
    return answer;
}
于 2013-10-30T20:07:59.050 回答