2012-10-21 2 views

답변

26

다소 직관적이지, 약간 넣어, 당신은 새로운 연산자를 사용하여 그것을 얻을이 :

재미 있었다
void Foo(IntPtr arg = new IntPtr()) { 
    } 

, 당신은 아마 즐길이 하나 더 :

void Foo(IntPtr arg = default(IntPtr)) { 
    } 
+1

젠장, 나는 "디폴트"가 작동 할지도 모르는 직감을 보았지만 체크 할 컴파일러가 근처에 없었기 때문에 안전했다. 좋은 대답. –

3

IntPtr은 struct이므로 Nullable-of-T?를 사용할 수 있습니까?

static void SomeMethod(IntPtr? ptr = null) { 
    var actualPtr = ptr ?? IntPtr.Zero; 
    //... 
}