C# 检查C中的空指针#

C# 检查C中的空指针#,c#,c,pointers,C#,C,Pointers,我正在调用一个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 XBaseGetDefineF

我正在调用一个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 (XBaseFunctions.XBaseGetDefineFile(900) == null)
我看过很多空指针的示例,但没有一个讨论这个主题。所以我尝试了几个想法,但没有成功


我需要知道的是如何正确构造“if”语句。

空指针只是指向内存地址“0”的指针。因此:

if (XBaseFunctions.XBaseGetDefineFile(900) == UIntPtr.Zero)

完美的我为此挣扎了几个小时。