유니티 엔진 (Unity Engine)

[C#] Null 조건부 연산자 ?. (null conditional operators)

원소랑 2022. 1. 5. 23:50

Null 조건부 연산자. 물음표와 마침표를 연결해 사용합니다. 영어로는 Null conditional operators.

Something?.Member

이렇게 사용하는데, null 조건부 연산자는 피연산자가 null이 아닌 것으로 평가되었을 때만 멤버를 엑세스 합니다.

null 조건부 요소 연산자는 아래처럼 씁니다. 마찬가지로 피연산자가 null이 아닌 것으로 평가되었을 때 요소를 엑세스 합니다.

?[]

조건부 멤버나 요소 액세스 작업의 한 체인의 작업에서 null을 반환하면 나머지 체인은 실행되지 않습니다.

// null 조건부 연산자 예시
A?.B.C();
A?.B?.Do(C);
A?.B?[C];

// null 조건부 연산자를 사용하지 않았을 경우
if (null != A)
    A.B.C();

if (null != A)
    if (null != B)
        A.B.Do(C);

if (null != A)
    if (null != B)
        A.B[C];

null 체크 코드를 ?. 연산자로 줄일 수 있기 때문에 가독성이나 타이핑 수고로움을 덜어줄 수 있어 보입니다.

https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/operators/member-access-operators#null-conditional-operators--and-

 

멤버 액세스 연산자 및 식 - C# 참조

형식 멤버에 액세스하는 데 사용하는 C# 연산자에 대해 알아봅니다.

docs.microsoft.com

null 조건부 연산자 (null conditional operator) 는 C# 6.0 부터 지원합니다.

.Net Framework 4.6 C# 6 은 Unity Engine 2018.1 에서 정식으로 도입되어 사용할 수 있습니다.

 

728x90
반응형