方法的返回类型的目的

时间:2013-07-22 19:34:41

标签: c# methods return

我在理解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

4 个答案:

答案 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
}

你的第一个代码绝对正常,应该没有错误