【发布时间】:2014-11-14 06:05:48
【问题描述】:
我的 C# 类中有一个 IntPtr 字段。
它包含对 C++ 库中对象的引用。
protected IntPtr ThingPtr;
在某个阶段我可能会也可能不会初始化它。
ThingPtr = FunctionInMyCplusplusLibrary();
我想知道在这种情况下检查它是否为 null 是否有意义(检查它是否已被初始化)
if(ThingPtr == null)
{
//Do stuff
}
【问题讨论】:
-
从不。曾经。假设要初始化任何东西。所以是的,它确实很有意义!
-
IntPtr永远不能是null。请改用ThingPtr == IntPtr.Zero。 -
不完全是重复的,但这是您应该阅读的答案stackoverflow.com/questions/1456861/…
-
结构是值类型,不能为空,对象是引用类型,可以为空。