2017-02-20 51 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' –

相关问题