반응형
다른 프로젝트의 소스 코드 분석 중 물음표가 너무 많아서 이게 뭔가 싶었다.
아래와 같은 방식으로 null 처리를 해서 그런지 ?. (조건부 연산자)를 처음보았을 때 눈에 익지 않아서 관련 내용을 정리해 보려 한다.
if (변수 != null)
{
// ~~ 소스코드
}
?. 연산자는 조건부 연산자라고도 하는데, null 값 예외처리 시에 유용하게 쓰이는 것 같다.
위의 코드와 기능은 똑같지만 익숙해 진다면 소스가 간결해져서 좋을 것 같고, 가독성 측면에서도 괜찮을 것 같다.
◈ 예제 소스 (1)
private void Test_NULL_Style()
{
Collection<string> collect = new Collection<string>();
if (collect != null)
collect.Add("(1) Test code 입니다.");
foreach (string sText in collect)
Trace.WriteLine(sText);
}
// 출력
// (1)Test code 입니다.
- 위의 예제는 컬렉션 자료구조를 생성하고 if 문을 사용하여 컬렉션이 null 이 아닐 경우 자료구조에 문자열을 추가하는 예제이다.
◈ 예제 소스 (2)
private void Test_NULL_Style()
{
Collection<string> collect = null;
collect?.Add("(2)Test code 입니다.");
foreach(string sText in collect)
Trace.WriteLine(sText);
}
// 출력
// 에러 발생
- 위 예제를 실행 할 경우 컬렉션을 생성하지 않아 문자열을 Add 할 수 없으며, collection 이 null 이기 때문에 에러가 발생한다.

# 틀린 부분이 있다면 댓글 부탁드립니다. #
# 댓글 달아주시면 늦게라도 블로그 방문하도록 할게요! 감사합니다. #
728x90
반응형
'hayee Study > 코딩_c#' 카테고리의 다른 글
| [C#] AutoResetEvent, ManualResetEvent 에 대하여 (0) | 2023.10.08 |
|---|---|
| [C#] show, showDialog (모달리스와 모달 차이점) (2) | 2023.10.03 |
| [C#] ProgressBar 사용법. (+ 색상 변경하기) (5) | 2023.10.02 |
| [C#] 작업스케줄러 (2) | 2023.10.02 |
| [C#] ConcurrentQueue, Queue (2) | 2023.09.21 |