[Unity]/[C#]

[C#] 물음표 연산자 3종류(feat. '?.', '??', '?')

극꼼 2022. 9. 17. 20:32
반응형


a?.b - a가 null일 경우 null을 리턴하고, null이 아닐 경우 b를 이어서 읽음.

?? - null 병합 연산자. 왼쪽 피연산자가 null일 경우 오른쪽 피연산자 결과를 반환함.

A ? B : C - A가 참이면 B를, 거짓이면 C를 리턴함.

 

return this?.ContainsIndex(index) ?? false ? thiz[index] : default;

다음과 같은 예시 코드가 있을 때,

 

<해석>

this가 null일 경우 -> false -> default

this가 null이 아닐 경우 -> .ContainsIndex(index)

.ContainsIndex(index)가 null일 경우 -> default

.ContainsIndex(index)가 null이 아닐 경우 -> this[index]

 

<풀어서 쓸 경우>

bool isValid;

if(this == null) isValid = false;
else isValid = this.ContainsIndex(index);

if(isValid) return this[index];
else return default;

 

반응형

'[Unity] > [C#]' 카테고리의 다른 글

[C#] MethodImpl (feat.인라인 함수)  (0) 2022.09.19
[C#] internal 액세스 한정자  (0) 2022.09.18
[C#] try-catch 예외처리  (2) 2022.09.16
[C#] string 출력 방법(feat. Console.Write)  (0) 2022.06.02
[C#] 오버라이딩과 오버로딩  (0) 2022.05.22