【发布时间】:2011-07-23 23:20:23
【问题描述】:
我知道用void 声明的方法不会返回任何东西。
但似乎在 C# 中,void 不仅仅是一个关键字,而是一个真正的类型。void 是 System.Void 的别名,就像 int 是 System.Int32 的别名。
为什么不允许我使用那种类型? 这没有任何意义,但这些只是关于逻辑的一些想法。
都没有
var nothing = new System.Void();
(表示我应该使用 void(不是别名?))
也没有
var nothing = new void();
编译。
也不可能使用类似的东西:
void GiveMeNothing() { }
void GiveMeNothingAgain()
{
return GiveMeNothing();
}
那么System.Void 有什么意义呢?
【问题讨论】:
-
hm,-
void GiveMeNothing() { }在 Mono.NET 3.5 中运行良好... -
@0x69 但是你能不能把
GiveMeNothing的void用其他的void-returning方法返回? -
Eric Lippert 不久前在他的博客上写了an excellent article about this。
-
void只是一个指示函数根本不返回任何内容。