假设我有以下签名:
static extern void External(int foo, IntPtr bar);
我想让它使用默认值:
static extern void External(int foo = 10, IntPtr bar = default(IntPtr));
这是有效的吗?在 C++ 中,我会使用指针为 0 或 null。在 C# 中,甚至不清楚 IntPtr 是值还是引用。
如果我手动调用我的函数,我会使用External(10, IntPtr.Zero);
. 我想我的问题是:default(IntPtr)
会有相同的行为IntPtr.Zero
吗?