2017-02-20 58 views
0

聲明:是否所有方法返回的東西

「的所有方法返回的東西」。

我在學習書籍中看到「所有方法都會返回一些東西」,我的老師證實了這一點。

一個方法可以返回以下的事情:

  1. 虛空
  2. 任何其他對象

問題

這些問題向我走來:

  • 「是無效的東西,或者它只是編譯器的關鍵字」
  • 「是構造函數的一種方法」?
    • 「如果構造函數是一種方法,它返回的東西。

這不是在這個post複製的,因爲我的問題是沒有具體的關於構造函數返回,但對上述說法。

問題的鍛鍊

  • 當構造函數不是的一種方法時,這種說法是正確的。
    • 因爲方法返回void或object。
  • 但是,當構造函數一個方法是否返回一些東西,如果不是這個語句將是錯誤的。
    • 因爲構造函數是一種方法,但不返回任何東西。
  • 當void不是返回的東西,而是編譯器的一個關鍵字,現在它不會返回任何東西,而不是這個hole語句將是錯誤的。
    • 因爲這將意味着方法可以返回任何結果,因爲空是不是

有很多在這個問題上的問題,但我問他們一個,因爲所有這些都是在一個凝聚力對這個陳述「所​​有方法都會返回一些東西」。這是真的嗎?

+1

_提示:'MyType instance = new MyType();' –

+0

@TimSchmelter表示它。 – mindOfAi

+2

劇透警報:構造函數返回'void'。 'new'返回實例。 –

回答

2

是一種構造的方法

是。

如果構造函數是一種方法,它會返回什麼?

void,根據IL(測試這一點,讓小C#應用程序,編譯它,並打開ildasm的EXE):根據

.method public hidebysig specialname rtspecialname 
     instance void .ctor() cil managed 

沒有 C#語言規範。

+0

哪裏提到構造函數是一種方法? –

+2

@TimSchmelter'.method' –

相關問題