我正在调用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);
' if'的基本理念就是这样:
if (XBaseFunctions.XBaseGetDefineFile(900) == null)
我已经查看了很多空指针的示例,但没有讨论这个主题。所以我尝试了几个想法但没有成功。
我需要知道的是如何正确构建“如果'言。
答案 0 :(得分:6)
空指针只是指向内存地址“0”的指针。为此:
if (XBaseFunctions.XBaseGetDefineFile(900) == UIntPtr.Zero)