在C#中检查空指针

时间:2015-10-24 01:15:44

标签: 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 XBaseGetDefineFile(short fileNum);

' if'的基本理念就是这样:

if (XBaseFunctions.XBaseGetDefineFile(900) == null)

我已经查看了很多空指针的示例,但没有讨论这个主题。所以我尝试了几个想法但没有成功。

我需要知道的是如何正确构建“如果'言。

1 个答案:

答案 0 :(得分:6)

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

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