Search Results for 'nullable'

1 POSTS

  1. 2008.01.22 Nullable<T> (1)

Nullable<T>

Posted 신선한바람 : 2008.01.22 11:44, Filed under: 개발

데이터베이스 프로그래밍을 할 때 어떤 필드가 null로 초기화 되어있을 경우, 가끔씩 Primitive type에 null값을 넣고 싶을 때가 있다. 예를 들면 이런 코드이다.

DataSet ds = GetDataSet();
object obj = ds.Tables[0].Rows[0]["NullField"];
int value = 0;

if(obj != null)
{
  value = (int)obj;
}

이럴 땐 Nullable타입을 사용하면 된다. 사용법은 간단하다.

DataSet ds = GetDataSet();
int? value = (int?)ds.Tables[0].Rows[0]["NullField"];

int?타입은 Nullable<T>를 상속받고 있다. 이런 형태의 Nullable타입은 bool이나 double과 같은 C#에서 사용 가능한 모든 타입들에 대해 구현되어 있다.

Nullable타입은 다음과 같은 프로퍼티와 메소드가 존재한다.

HasValue 값이 존재하는지 검사한다.
Value 값을 리턴한다. 만약 값이 없으면 Exception을 발생시킨다.
GetValueOrDefault(T defaultValue) 존재하는 값 또는 기본값을 리턴한다.

다음과 같이 쉽게 사용할 수 있다.

int? i = 10;
if (x.HasValue)
{
  Console.WriteLine(x.Value);
}
else
{
  Console.WriteLine("NullValue");
}

이렇게 매번 if나 GetValueOrDefault를 사용하면 코드가 복잡해 보일 수 있기 때문에, Nullable타입과 함께 추가된 ??연산자를 사용할 수도 있다.

int? i = null;
Console.WriteLine(i ?? 10);

??연산자는 C에서부터 계승되어 오던 ?연산자를 사용하는 (i == null) ? i : 0 형태를 축약한 것으로 보면 된다.

참고자료:
http://msdn2.microsoft.com/en-us/library/2cf62fcy.aspx

Posted by : 신선한바람

  1. # Favicon of http://celebblowsbar.net/czn/beautiful-women-in-black-stockings BlogIcon beautiful women in 2008.05.23 05:01 신고 Delete Reply

    나는 배웠다 매우…

Leave a comment


Notice

  1. 팀블로그 시작합니다.

Recent Posts

  1. ㅅㄷㄴㅅ
  2. Nullable<T>
  3. [두번째] Javascript를 사용한 rich E..
  4. [첫번째] Javascript를 사용한 rich E..
  5. Webware가 선택한 사이트 #3 - Friend..

Recent Comments

  1. Here a wealth of information here... lora 2013
  2. There’s a lot of information here... ruscopybook.com/history/10_class 2013
  3. 사람은 본질적으로 제가 언급 것이라.. jual jaket online 2012
  4. 내가 아주이 블로그에 대한 즐길입니.. notebook murah 2012
  5. 많은 흥미로운 것들이 내 배우자 그리.. Lawyer Marketing 2011

Recent Trackbacks

  1. contactos con mujeres contactos con mujeres 2012
  2. 소프트뱅크벤처스 포트폴리오 쇼케이.. Blog Marketing bible* 2007
  3. 단순함의 미투데이와 백화점식의 SKT.. 전설의에로팬더 2007
  4. 미투(혹은 플톡) vs. 토씨 가상 시나.. 민노씨.네 2007
  5. Tossi, 클로즈 베타테스트 시작 소식.. TechCabin 2007

Calendar

«   2018/11   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

Bookmarks

  1. 신선한바람
  2. onionmen
  3. onionmen 미투데이
  4. 신선한바람 미투데이
  5. 횸피그
  6. 횸피그 미투데이

Site Stats

TOTAL 53,141 HIT
TODAY 0 HIT
YESTERDAY 24 HIT