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