簡體   English   中英

方法的返回類型的目的

[英]Purpose of return types for methods

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

每個方法都需要具有返回類型,或使用無效的返回類型聲明。

如果您不希望返回任何內容,則將有一個無效的返回類型,如下所示...

public void printSomething(string something)
{
  System.out.println(something);
}

如果要返回某些內容,則必須聲明返回類型,如下所示...

public string returnSomething()
{
  string something = "something";
  return something;
}

因此,以您的示例為例,如果您要返回類型為List<string>clients ”,則需要聲明該返回類型,如下所示...

public List<string> getClients()
{
  List<string> clients = new List<string>();
  return clients;
}

您正在使用的東西稱為返回類型 定義方法時,可以設置要作為值返回的類型(例如整數,位圖,字符串,甚至是自定義類)。 這樣,您可以執行以下操作:

int number = Average();

對於返回值的方法,可以設置void關鍵字以表示該方法執行了操作,但沒有得到明顯的結果。 上面的Average()方法完成后會返回一個int,而void則什么也不會返回。

此外, publicstatic是關鍵字,它們是描述您的方法的形容詞,無論它是否無效。 公共是指其隱私(或代碼的哪些部分可以使用它),而靜態是指方法的生存期和引用。

第一部分代碼應該工作。

如果您不想從函數返回任何內容,請使其返回void:

public void DoWork() {
    int i = 1 + 1;
} // Don't return anything.

您收到錯誤消息,指出method must have a return type在第二個代碼中method must have a return type ,因為您沒有返回列表,但方法簽名中不存在返回類型。 對於沒有返回類型的方法,應使用void

public void method()//void or no return type
{
   //do something
}

您的第一個代碼絕對正確,應該可以正常運行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM