default(int?)
또는 (int?)null
을 사용하여 변수를 할당 할 때 차이가 있습니까?기본 (int?) 대 (int?)의 차이
똑같은가요?
또는 각 방법을 사용하는 장단점이 있습니까?
default(int?)
또는 (int?)null
을 사용하여 변수를 할당 할 때 차이가 있습니까?기본 (int?) 대 (int?)의 차이
똑같은가요?
또는 각 방법을 사용하는 장단점이 있습니까?
정확히 똑같은 것입니다 (new int?()
).
변수을 할당하는 경우 일반적으로 전혀 필요하지 않습니다. 난 그냥 사용 :
int? x = null;
예를 들어.
이러한 표현식 중 가장 자주 필요한 시간은 조건부 연산자입니다. 컴파일러는 식의 유형을 추론 할 수 없기 때문에
int y = ...;
int? z = condition ? default(int?) : y;
당신은 그 시나리오에서 null
을 사용할 수 없습니다. (아마도 언어에 대한 유용한 추가가 될 것입니다 ...)
기본적으로 둘 다 같습니다. 기본값은 기본값을 제공합니다. 참조 유형 및 널 (null) 입력 가능 유형의 경우 값 유형에 0을 제공하는 경우 널을 제공합니다. 데칼 할 수있는 값을 널 (NULL)로 사용할 수있는 경우 (int?)null
에 지정할 수도 있습니다. 당신은 일리노이 코드를 확인하기 위해서도 확인할 수 있습니다.
내 경우에는 var x = Int32.TryParse (entityObj.Prop, out result)를 예시 한 것처럼 제 3 자 연산자가 있습니까? 결과 : (int?) null; 이 속성은 varchar로 저장된 타사 db에 있기 때문에이 작업을 수행해야했습니다. 감사합니다. @ jon-skeet –