什么是';无效';在C#中?

什么是';无效';在C#中?,c#,null,structure,void,return-type,C#,Null,Structure,Void,Return Type,我在看C#中的voidtype的定义。它是一个表示无值的空结构 但是,这种结构与其他结构之间到底有什么区别呢。我的意思是,如果您定义一个返回类型为void的方法,然后返回类型为(void),您将得到一个错误 似乎C#对这种类型有不同的行为 有一些文档说明了void的真正含义。我是说引擎盖下面发生了什么。一个值类型结构怎么能什么都不引用 更新: 我认为你们中的一些人没有理解这个问题的要点,这就是为什么你们把它标记为重复。我的问题是。空虚是一种结构。好啊结构是值类型。 在尽可能低的阶段会发生什么?空

我在看C#中的
void
type的定义。它是一个表示无值的空结构

但是,这种结构与其他结构之间到底有什么区别呢。我的意思是,如果您定义一个返回类型为void的方法,然后
返回类型为(void)
,您将得到一个错误

似乎C#对这种类型有不同的行为

有一些文档说明了
void
的真正含义。我是说引擎盖下面发生了什么。一个值类型结构怎么能什么都不引用

更新:

我认为你们中的一些人没有理解这个问题的要点,这就是为什么你们把它标记为重复。我的问题是。空虚是一种结构。好啊结构是值类型。 在尽可能低的阶段会发生什么?空虚在记忆中代表什么?当你按F12键无效时,你只看到一个空的结构,这个结构和其他结构有什么区别?c#在哪里起作用

当用作方法的返回类型时,void指定 方法不返回值


关键是返回类型为
void
的方法不会返回任何内容。它不返回类型为
void
的值;它根本没有返回值

不能声明该类型的方法;不能将参数声明为
void
。。。它表示完全没有任何值。该类型的存在实际上只是为了方便反射,在这种情况下,需要指示方法不返回任何内容


如果
void
是一个实类型,那么它有很多有用的方法,就像在F#中一样。例如,我们可以只使用
Task
,而不是
Task
Task
。。。实际上,
Task
Task
,但这是无效的…

Void一词的意思是无。如果值为void,则表示它没有值。在方法或函数中,这意味着它没有返回类型,因此函数不必返回任何要运行的内容

public static void TestRefType()
{
SampleRefType rt = new SampleRefType();
rt.value = 44;
ModifyObject(rt);
System.Console.WriteLine(rt.value);
}
实际上是。这是一个基本的概念,与

事实上,你可以使用
typeof(void)
,尽管你不能用它做很多事情。原因是什么

public void foo() { return typeof(void); } 
无效是因为
typeof(void)
的结果不是
void
类型的实例,而是
类型的实例。写这篇文章的正确方法是

public void foo() { return; } 

有些语言有两种不同形式的子程序。程序和职能。区别在于过程是一系列操作。函数是带有return语句的操作


在C#中,一切都是一个“函数”,所以void关键字只是表明它实际上不是一个函数,因为它没有返回语句。

检查此链接@达林迪米特罗夫:
void**
void
非常不同。是的,你说得对,我的错。我仍然相信这不是一个重复的问题。我的问题是关于哲学和理论。当然,我知道虚空是什么意思。以上问题都不是我的答案。请不要犯这样的错误,等我回到电脑前,我可能会试试这个。。但是
void
指针在不安全的C#中工作吗?@SimonWhitehead:我认为void指针最终的意义有点不同。我自己也尽量避免使用指针:)(但是的,它们是有效的。)