책 정리/Effective C#

item 8, value 타입을 사용할 때 0이라는 값이 의미를 가질 수 있도록 하라

최익필 2010. 6. 24. 02:02

Purpose-built post

공부하려고 만들었다.

Content

다음 코드를 봐보자.


st는 0 이란 값을 갖게 된다. 하지만 0은 무슨 값일까? SockState에는 0이란 존재하지도 않는다. 결국 객체 상태가 불분명해 진다. 게다가 내가 유도한 값도 아니다.

C# 에서 value 초기화시 0이 아니게 할 수 있으나, 완전히 막는건 불가능하다. 왜냐하면 기본생성자가 있기 때문이다. 그러므로 0 이라는 값이 의미를 갖게 함으로써, 이 문제를 피해가야만 한다. 그리고, reference 타입은 null 로 초기화 된다는 것만 알면 된다.

결론

  • 0 이 의미를 갖게 한다.


Digression

  • 자세히 쓰는것도 이젠 졸리다.