Tag: void pointers

什么都不返回或返回void – C#在void Function()调用结束时究竟做了什么?

考虑以下C#函数: void DoWork() { … } C#文档说明: 当用作方法的返回类型时,void指定该方法不返回值 。 这似乎是直截了当的,在大多数情况下,这适合作为公平的定义。 然而,对于许多低级语言(即C),“void”具有略微不同的含义。 具体来说,所有代码块都必须返回一些内容 。 因此, void是空指针的表示,它表示“无”。 在这种情况下,您不需要在代码中包含return语句,因为任何不返回值的块语句都会自动返回空指针。 这是C#所做的,或者当调用void函数时,它是否执行一段代码并返回甚至没有包含void值的指针?

C#和void指针

我正在编写我的第一个C#应用程序,但幸运的是我必须使用void指针(使用返回句柄的DLL)。 根据我的阅读,有几个选择: 不安全的代码,例如参见http://www.c-sharpcorner.com/UploadFile/gregory_popek/WritingUnsafeCode11102005040251AM/WritingUnsafeCode.aspx 在C#程序中写入我的函数declerations IntPtr而不是void *。 例如:public static extern char SupportsWhatever(IntPtr h); 使用ref,例如:public static extern char SupportsWhatever(ref h); 还应该注意,我需要在DLL和C#应用程序之间来回传递信息。 不安全的选项是第一个出现在谷歌上的选项,但出于某种原因,在我的所有function都感觉不对之前编写关键字unsafe。 有什么建议?