繁体   English   中英

遗漏“虚空”一词与包括“虚空”一样吗?

[英]Is leaving out the word Void the same as including Void?

这些都一样吗?

public void MyMethod() {do something}

public MyMethod() {do something}

void表示什么都不返回-因此省略此关键字还意味着什么都不返回吗? 如果是这种情况,那么为什么该单词在语言中存在-是否在其他情况下使用它?

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

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

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

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

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

始终必须为您的方法指定一个返回类型,而不管其为空还是类型。 异常包括构造函数。

您无法在C#进行第二种情况,因此无法编译。 C# ,即使“ nothing”也应始终明确指定返回类型。

想想void是没有返回值的占位符,同时保持语法与具有返回类型的函数/方法兼容。

第一行是public实例方法 它只能在本身不是 c的class (或struct )中称为MyMethod

第二个示例是public实例构造函数 它可以发生在一个本身称为MyMethod的类中(尽管这是一个class的奇怪名称)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM