반응형
제네릭( 템플릿 ) 을 이용해서 만든것이다보니 C++ 에도 당연히 있을것 같아서 독특한 기능이라고 보긴 어렵지만~
어쨌든 DB 연동할때는 꼭 사용할것만? 같은 타입이라서 정리한다.
*. 널 가능타입
C#에서는 제네릭을 이용해 null 표현을 가능하도록 레퍼 클래스를 생성함
System.Nullable<T>
? 기호로 이용가능
/* 사용법 */
byte? Value; //0~255 또는 null 값
bool? bLuner;//true,false, null 값
HasValue 값이 정의되어 있는지 ( 널인지 아닌지 ) 판단
:true //널아님
:false // 널
Value 실제값을 읽음
널일경우 InvalidOperationException 예외 발생
/* 사용하기 */
int? Age; //Nullable<int> Age; 와 동일
Age = 3;
if(Age.Hasvalue) //Age != null 동일
{
Console.WriteLine(Age); //Console.WriteLine(Age.Value) 동일
}
-. ?? 기호
좌항은 반드시 널가능 또는 참조타입
a ?? b // a 가 널이면 b, 아니면 a 를 리턴
/* 사용하기 */
int? Age = null;
int MyAge;
MyAge = Age ?? 25; // 25 입력됨
반응형