我正在调用C函数.该函数将返回一个句柄.句柄实际上是一个指针,但C#程序只用它来调用其他C函数.如果出现错误,C程序将返回C NULL.我希望C#程序检查是否返回了C NULL.
"原型"如下:
[DllImport("W:\\Dropbox\\DSI (His)\\Windows Apps\\Debug\\DsiLibrary_CSharp.dll", CharSet = CharSet.Ansi)]
public static extern UIntPtr XBaseGetDefineFile(short fileNum);
Run Code Online (Sandbox Code Playgroud)
'if'的基本思想是这样的:
if (XBaseFunctions.XBaseGetDefineFile(900) == null)
Run Code Online (Sandbox Code Playgroud)
我已经查看了很多空指针的示例,但没有讨论这个主题.所以我尝试了几个想法但没有成功.
我需要知道的是如何正确构造'if'语句.
空指针只是指向内存地址"0"的指针.为此:
if (XBaseFunctions.XBaseGetDefineFile(900) == UIntPtr.Zero)
Run Code Online (Sandbox Code Playgroud)