控制台应用程序代码错误

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)': 不是所有的代码路径都返回值。

我不确定代码哪里有问题。有解决方案吗?


1
函数代码中没有返回值 - Matt
你的代码不完整,有一部分缺失。 - perror
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;
}

@tmw 没问题。不要忘记给你认为有帮助的回答点赞,并接受解决你问题最好的答案。 - tnw

3
你需要返回“answer”的值,否则代码不会返回任何值,正如错误所述。
注意:无论何时你使用“int”或“string”,你必须始终返回一个值。
static int Code(int myX, int myY)
    {
        int answer = myX * myX - myY;
        return answer;
    }

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接