2016-11-04 9 views

답변

9

정확히 똑같은 것입니다 (new int?()).

변수을 할당하는 경우 일반적으로 전혀 필요하지 않습니다. 난 그냥 사용 :

int? x = null; 

예를 들어.

이러한 표현식 중 가장 자주 필요한 시간은 조건부 연산자입니다. 컴파일러는 식의 유형을 추론 할 수 없기 때문에

int y = ...; 
int? z = condition ? default(int?) : y; 

당신은 그 시나리오에서 null을 사용할 수 없습니다. (아마도 언어에 대한 유용한 추가가 될 것입니다 ...)

+0

내 경우에는 var x = Int32.TryParse (entityObj.Prop, out result)를 예시 한 것처럼 제 3 자 연산자가 있습니까? 결과 : (int?) null; 이 속성은 varchar로 저장된 타사 db에 있기 때문에이 작업을 수행해야했습니다. 감사합니다. @ jon-skeet –

0

기본적으로 둘 다 같습니다. 기본값은 기본값을 제공합니다. 참조 유형 및 널 (null) 입력 가능 유형의 경우 값 유형에 0을 제공하는 경우 널을 제공합니다. 데칼 할 수있는 값을 널 (NULL)로 사용할 수있는 경우 (int?)null에 지정할 수도 있습니다. 당신은 일리노이 코드를 확인하기 위해서도 확인할 수 있습니다.