다른 모듈과 설정파일을 공유하는 경우가 있다. 한 예로 MFC 모듈과 .NET 모듈이 XML 파일로 설정을 공유하는데, 특정 기능의 사용, 사용 안함을 1 과 0 으로 정의하여 사용하고 있다. 설정을 읽고 체크박스 컨트롤의 상태를 결정할 때 다음과 같은 코드를 주로 사용하였다.
int useUpdate = [xml파일로 부터 설정 읽기];
ckbUseUpdate.Checked = useUpdate == 1;
몰랐는데 int 값을 bool값으로 변환해주는 FCL이 있었다. 바로 Convert.ToBoolean
매개변수로 int 값을 받을 때, 0일 경우 false 그 외에 경우에는 모두 true 를 리턴한다.

코딩할 때, 어쩔 수 없는 경우라면 직접 만들어야 하지만 가능하면 FCL을 이용하려 한다.
But,
프로그래밍 잘 한다고 생각하는 친구로 부터 조언을 받았다. 항상 고맙게 생각하는 친구다.
어느 언어를 막론하고 형 변환은 조심스럽게 사용해야 한다. 수 형들간의 형변환 시, Convert의 정적 메소드, 데이터 타입의 Parse, TryParse 정적 메소드를 사용하게 된다. 이 중 형 변환 시 예외를 발생시키지 않는 것은 TryParse 이다. try-catch 문을 과도하게 쓰는 코드는 좋지 않다. 따라서 TryParse 메소드의 사용이 유리한 점이 많다.
Convert클래스를 이용하여 변환과정을 수행할 경우, FormatException / InvalidCastException 등이 일어남을 주의해서 사용해야 해. 알겠지만, 닷넷 기본수형의 TryParse 함수등은 예외없이 변환과정을 수행한다. (Boolean.TryParse 등) 일장일단이 있지. 값 변환과정은 매우 주의깊게 수행되어야 할 부분이다.
답글삭제음.. 수 형 타입에 TryParse 메서드를 사용할 때, 인텔리센스에 ArgumentException 이 나와있길래 "무엇을 사용하더라도 예외가 발생하는구나.. Convert 클래스, TryParse 중 기호에 맞는것을 사용해야지!" 이렇게 생각했거든. 너의 말을 듣고 MSDN 찾아 보니까 TryParse 는 예외를 던지지 않는 다고 하네 +_+
답글삭제"TryParse 메서드는 Parse 메서드와 같지만 TryParse 메서드는 변환이 실패할 경우 예외를 throw하지 않습니다. 이 오버로드를 사용하면 s가 잘못되어 성공적으로 구문 분석할 수 없는 경우 발생하는 FormatException을 테스트하기 위해 예외 처리를 사용할 필요가 없습니다."
아무래도 try-catch 문을 신경쓰지 않아도 되니 이게 더 깔끔하겠다. 좋은 정보 고마워 ^^