1

这些是一样的吗?

public void MyMethod() {do something}

public MyMethod() {do something}

void意味着什么都不返回 - 所以离开这个关键词也意味着什么都不返回?如果是这种情况,那么为什么这个词存在于语言中 - 它是否用于其他情况?

4

5 回答 5

7

您的第二个选项无法编译。

C# 规范要求每个方法在没有返回结果时也返回一个类型。

通过指定访问级别、返回值、方法名称和任何方法参数,在类或结构中声明 方法。...

正如其他人所指出的,例外是类构造函数。

MSDN 上的方法(C# 编程指南)

于 2012-09-04T07:46:55.817 回答
2

无论它是 void 还是类型,您始终必须为您的方法指定返回类型。例外包括构造函数。

于 2012-09-04T07:47:09.057 回答
2

你不能做第二种情况C#,它不会编译。在C#中,您应该始终明确指定返回类型,即使它是“无”。

于 2012-09-04T07:48:01.880 回答
1

考虑void成为无返回值的占位符,同时保持语法与具有返回类型的函数/方法兼容。

于 2012-09-04T07:48:43.313 回答
1

第一行是一个public实例方法。它只能出现在 a class(or struct) 内部,而不是c 本身称为MyMethod

第二个例子是public实例构造函数。它可以出现在class本身被称为的 a 中MyMethod(不过,对于一个类来说,这是一个奇怪的名称)。

于 2012-09-04T08:17:45.790 回答