Допустим, у меня есть следующая подпись:
static extern void External(int foo, IntPtr bar);
Я хочу использовать его по умолчанию:
static extern void External(int foo = 10, IntPtr bar = default(IntPtr));
Это действительно? В C ++ я бы использовал указатель как 0 или ноль. В C # даже неясно, является ли IntPtr значением или ссылкой.
Если бы я вызвал свою функцию вручную, я бы использовал External(10, IntPtr.Zero);
. Наверное, мой вопрос: будет ли default(IntPtr)
вести себя так же, как IntPtr.Zero
?