检查c#中的空指针

本文关键字:空指针 检查 | 更新日期: 2023-09-27 18:19:05

我正在调用一个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)

我看过很多空指针的例子,但是没有一个讨论这个话题。所以我尝试了几种方法,但都没有成功。

我需要知道的是如何正确地构建'if'语句

检查c#中的空指针

空指针就是指向内存地址'0'的指针。因此:

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