我在理解C#方法的语法时遇到了问题 - 特别是"must return something"
错误。
我有这个方法:
public static class Connection
{
public static List<string> getClients()
{
List<string> clients = new List<string>();
return clients;
}
}
该方法不正确,因为我得到invalid expression term "return"
,所以我不知道该怎么做。有人可以解释一下这个公共空白等是如何起作用的吗?
另外,为什么我不能做以下事情?
public getClients()
{
List<string> clients = new List<string>();
return clients;
}
我收到错误method must have a return type
答案 0 :(得分:5)
每个方法都需要有一个返回类型,或者使用void返回类型声明。
如果您不想返回任何内容,则会有一个void返回类型,如下所示......
public void printSomething(string something)
{
System.out.println(something);
}
如果要返回某些内容,则必须声明返回类型,如下所示......
public string returnSomething()
{
string something = "something";
return something;
}
因此,对于您的示例,如果您返回类型为clients
的“List<string>
”,则需要声明该返回类型,如下所示...
public List<string> getClients()
{
List<string> clients = new List<string>();
return clients;
}
答案 1 :(得分:2)
您正在使用的内容称为返回类型。定义方法时,可以将类型(例如,整数,位图,字符串,甚至自定义类)设置为值作为返回值。这样,您可以执行以下操作:
int number = Average();
对于不返回值的方法,您可以设置 void 关键字以表示此方法执行操作,但不会获得实际结果。虽然上面的Average()
方法在完成时返回一个int,但是void返回任何内容。
此外,公开和静态是关键字是描述您的方法的形容词,无论是否无效。公共是指其隐私(或代码的哪些部分可以使用它),静态是指方法的生命周期和参考。
答案 2 :(得分:1)
第一段代码应该有用。
如果您不想从函数返回任何内容,请将其返回void:
public void DoWork() {
int i = 1 + 1;
} // Don't return anything.
答案 3 :(得分:1)
您在第二个代码中收到错误method must have a return type
,因为您没有返回列表,但方法签名中不存在返回类型。对于没有返回类型的方法,您应该使用void
。
public void method()//void or no return type
{
//do something
}
你的第一个代码绝对正常,应该没有错误