C# 检查C中的空指针#
我正在调用一个C函数。该函数将返回一个句柄。句柄实际上是一个指针,但C#程序只使用它来调用其他C函数。如果出现错误,C程序将返回C NULL。我希望C#程序检查是否返回了C NULL “原型”如下: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
[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)
完美的我为此挣扎了几个小时。