C#我可以检查IntPtr是否为null吗
本文关键字:null 是否 IntPtr 我可以 检查 | 更新日期: 2023-09-27 18:23:40
我的C#类中有一个IntPtr字段
它保存对C++库中对象的引用。
protected IntPtr ThingPtr;
在某个阶段,我可能会也可能不会初始化它。
ThingPtr = FunctionInMyCplusplusLibrary();
我想知道在这种情况下检查它是否为null是否有意义(检查它是否已初始化)
if(ThingPtr == null)
{
//Do stuff
}
IntPtr
是一个值类型,不能为null。
你想检查它是否有(地址)0:的值
if (ThingPtr == IntPtr.Zero)
IntPtr是一个结构,它永远不能为null,您的库可能会返回null的等价值,但我希望它是零。
您可以使用IntPtr.Zero作为null,但它并不等同于C#null值。