반응형
Nullable 형식 사용하기 (int?가 멀까)
int? 이건 멀까?
msdn에 자세히 나온다.
http://msdn.microsoft.com/ko-kr/library/2cf62fcy(VS.80).aspx
간략하게 정리하면
nullable 형식은 다음과 같은 두 가지 방법 중 하나로 선언됩니다.
int? 이건 멀까?
msdn에 자세히 나온다.
http://msdn.microsoft.com/ko-kr/library/2cf62fcy(VS.80).aspx
간략하게 정리하면
nullable 형식은 다음과 같은 두 가지 방법 중 하나로 선언됩니다.
System.Nullable<T> variable
- 또는 -
T? variable
로 나타낼수있다.
int? 는 후자의 경우겠죠 ㅋㅋ
함수명(int? height, int? width)
뭐 이렇게 쓴다.
그리고 왜쓰는 지는 null값을 추가로 나타낼수있기 때문이다.
(인용)
nullable 형식을 사용하면 내부 형식의 값을 모두 나타낼 수 있을 뿐만 아니라 null 값을 추가로 나타낼 수 있습니다
명시적 변환
nullable 형식은 Value 속성을 사용하거나 명시적으로 캐스팅하여 일반 형식으로 캐스팅할 수 있습니다. 예를 들면 다음과 같습니다.
C#
|
int? n = null; //int m1 = n; // Will not compile. int m2 = (int)n; // Compiles, but will create an exception if x is null. int m3 = n.Value; // Compiles, but will create an exception if x is null. |
두 데이터 형식 사이에 사용자 정의 변환이 정의되어 있는 경우에는 이러한 데이터 형식의 null 허용 버전에 대해서도 동일한 변환을 사용할 수 있습니다.
암시적 변환
nullable 형식의 변수는 다음과 같이 null 키워드를 사용하여 null로 설정할 수 있습니다.
C#
|
int? n1 = null; |
일반 형식에서 nullable 형식으로의 변환은 암시적입니다.