Notice
Recent Posts
Recent Comments
뉴질랜드 다이어리(NZ Diary) 라빠
[C#] Nullable type 의 사용방법 본문
C# 2.0 부터 도입된 Nullable Type 을 제대로 사용해보자.
말도 안되는 코드이긴 하지만, 아래의 예제를 보시죠.
(Foo class 가 생성되고, foo 함수가 처음 불리는 시점에만 i 의 값을 업데이트 해야 하는 상황이라고 가정합니다.)
1 2 3 4 5 6 7 8 9 | class Foo { int i = -1; private void foo(int j) { if (-1 == i) { i = j; } } } | cs |
-1 을 입력하는 경우가 없다고 가정하면, 위킈 코드는 문제없이 동작합니다.
그런데 만약 입력값에 이런 제약조건이 없는 경우라면 어떻게 구현해야 할까요?
Foo class 에 별도의 bool 변수를 선언하고, 이를 이용하여 i 의 업데이트 여부를 관리하는 방법이 유일합니다.
아래와 같은 코드가 되겠죠?
1 2 3 4 5 6 7 8 9 10 11 | class Foo { bool updated = false; int i; private void foo(int j) { if (!updated) { i = j; updated = true; } } } | cs |
이때에 Nullable 을 사용하면 쉽게 관리가 가능합니다.
1 2 3 4 5 6 7 8 9 | class Foo { int? i = null; private void foo(int j) { if (!i.HasValue) { i.Value = j; } } } | cs |
Nullable type 의 사용법을 잘 알고, 사용하면, 코드도 간결해지고, 가독성도 좋아지는 두가지 효과를 얻을 수 있습니다.
제 블로그를 더 편하게 보는 방법!
공감 한번씩 눌러주세요.
더 좋은 글과 내용으로 보답드립니다!
'개발' 카테고리의 다른 글
최근 수개월동안 새로 공부하고 있는 기술들... (0) | 2017.03.08 |
---|---|
Web Scrapping with Python, PHP, Javascript (0) | 2017.02.13 |
[Android] Must Have Libraries (0) | 2016.11.08 |
[Android] Complete Android Fragment Lifecyce (0) | 2016.11.01 |
ArrayList, Vector and LinkedList in Java (0) | 2016.10.11 |