1

在 C# 中,如果构造函数基本上是不返回任何内容的方法,为什么它们的返回类型不为 void?因为 void 是一个返回类型,它表示没有返回任何内容。

4

3 回答 3

4

如果返回类型(用语言/语法术语)总是“void”,那么说“void”有什么意义?这将是多余的,只能作为出错的东西。如果“void”是唯一有效的选项,为什么我们需要告诉编译器?为什么不完全省略它呢?

于 2013-05-18T11:38:51.343 回答
2

它是一种将构造函数与普通方法调用区分开来的语言构造。

但是,在 IL 级别(正如您所指出的),构造函数只不过是一个 void 方法。

于 2013-05-18T11:48:11.907 回答
0

也许是为了防止类用户随意调用它:

SomeClass myClass = new SomeClass();
myClass.SomeClass(); 
...
myClass.SomeClass(); 
于 2013-05-18T11:24:37.650 回答