본문 바로가기
Programming Language/C#

[C#] 널 조건부 연산자 (Null-conditional operator)

by dbxxrud 2019. 4. 28.

 

널 조건부 연산자 (?.)객체의 멤버에 접근하기 전에 해당 객체가 null인지를 검사하여 그 결과가 참(즉, 객체가 null) 이면 그 결과로 null을 반환하고, 그렇지 않은 경우에는 . 뒤에 지정된 멤버를 반환한다. 이렇게 하면 일일이 if문을 써서 null을 체크할 필요가 없다! 만약에 인덱서, 배열 요소등을 접근할 경우에는 ?[] 로 표현하면 된다.

 

 

예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
using System.Collections;
using static System.Console;
 
namespace NullConditionalOperator
{
    class MainApp
    {
        static void Main(string[] args)
        {
            ArrayList a = null;
            a?.Add("야구");
            a?.Add("축구");
            WriteLine($"Count : {a?.Count}"); // a가 null을 반환하므로 아무것도 출력하지 않는다
            WriteLine($"{a?[0]}");
            WriteLine($"{a?[1]}");
            
            a = new ArrayList(); // 더이상 null이 아님
            a?.Add("야구");
            a?.Add("축구");
            WriteLine($"Count : {a?.Count}");
            WriteLine($"{a?[0]}");
            WriteLine($"{a?[1]}");
        }
    }
}
 
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none; color:white">cs

'Programming Language > C#' 카테고리의 다른 글

[C#] foreach문  (0) 2019.05.18
[C#] Null 병합 연산자 (Null-Coalescing Operator)  (0) 2019.04.28
[C#] var  (0) 2019.04.28
[C#] Nullable 형식  (0) 2019.04.28
[C#] 박싱과 언박싱  (0) 2019.04.28