gpt4 book ai didi

c# - 并非所有代码路径都返回值(C#)

转载 作者:行者123 更新时间:2023-12-02 11:15:50 25 4
gpt4 key购买 nike

我目前正在学习C#,但此程序遇到问题。我正在学习有关方法和类的信息,并且正在制作一个测试程序,该程序将两个数字加在一起并在控制台中显示它们。我收到以下三个错误:

prog.cs(5,13): error CS0161: `Test.addNumbers(int, int)': not all code paths return a value
prog.cs(16,3): error CS0118: `Test.addNumbers(int, int)' is a `method' but a `type' was expected
prog.cs(17,7): error CS0841: A local variable `numbers' cannot be used before it is declared
Compilation failed: 3 error(s), 0 warnings

这是我的代码:
using System;

public class Test
{
public int addNumbers(int num1, int num2) {
int result;
result = num1 + num2;
}

public static void Main()
{
int a = 2;
int b = 2;
int r;

addNumbers numbers = new addNumbers();
r = numbers.addNumbers(a, b);

Console.WriteLine(r);
}
}

我已经尝试了所有我知道的东西,但是正如我所说,我还在学习,所以我对C#不太了解。任何人都可以向我解释错误的含义,错误发生的原因以及如何解决?谢谢。

最佳答案

修改您的addNumbers以返回一个值。函数签名指出它返回int,因此您必须从函数中返回int

using System;

public class Test
{
public static int addNumbers(int num1, int num2)
{
int result;
result = num1 + num2;
return result;
}

public static void Main()
{
int a = 2;
int b = 2;
int r;


r = addNumbers(a, b);

Console.WriteLine(r);
}
}

编辑:

仅当函数不是静态的时才需要 addNumbers numbers = new addNumbers();

可以使用 ClassName.FunctonName调用静态函数,而非/静态(实例函数)则需要以您描述的方式进行调用。
addNumbers numbers = new addNumbers();
numbers.SomeFunction();

您可以按照以下方式查看它。
Classname.SomeStaticVariable = 2;

如上所述, SomeStaticVariable在任何时候对于整个应用程序都是相同的。虽然下面描述的方法仅在内存中存在 obj时才可用。
Classname obj = new ClassName();
obj.SomeVariable = 2;

关于c# - 并非所有代码路径都返回值(C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39308883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com