VB.NET의 특이한 연산자 ?. 이게 뭐지?
2023. 9. 2. 13:55ㆍVB.NET/기초강좌
여태 몰랐는데 정말 특이한 연산자를 하나 발견했다.
?. - 물음표와 점이 하나의 연산자라고 생각해야 할 듯 하다.
한마디로 설명하면 "Null 조건부 연산자" 란다. 이게 도대체 뭔뜻일까? 간략히 예제를 하나 들어보자. 아래처럼 간단히 문자열 리스트를 정의했다고 가정해보자.
Dim lpList As List(Of String)
여기서 lpList는 단순 정의만 했을때는 Nothing 상태이다. 이 상태에서 lpList.Count 와 같은 문장을 실행하면 아래와 같은 오류 메시지가 발생하게 된다.
우리는 이 문제점을 잘 알고 있다. 그래서 항상 아래와 같이 오류가 발생하지 않도록 미리 확인후 처리하는게 어느정도 몸에 배어 있을 것이다.
If lpList IsNot Nothing Then
If lpList.Count > 0 Then
... 처리구문
End If
End If
보통 이런 식으로 값이 Nothing 아닌 경우에만 변수를 사용하도록 설정했는데 이 구문을 ?. 연산자를 이용하면 아래처럼 바꿀 수 있다.
If lpList?.Count > 0 Then
... 처리구문
End If
황당~ 이게 된다. 이런건 정말 처음 보네. 못믿겠으면 직접 해보시라. 한마디로 lpList에 값이 할당되어 있으면 실행하고, Nothing 상태면 건너뛰라는 의미이다. 신기하다.
이번 글은 정말 우연찮은 기회로 희한한 연산자를 알게 되서 잠깐 끄적여봤다. 개발자의 세계는 정말 멀고도 험하구나.
반응형
'VB.NET > 기초강좌' 카테고리의 다른 글
VB.NET 웹페이지 소스 가져오기 - HttpClient 비동기 (0) | 2024.02.16 |
---|---|
VB.NET 변수와 데이터형 (0) | 2023.08.04 |
Visual Studio 2022 Community 설치하기 (0) | 2023.07.18 |