널 조건부 연산자 (?.) - 객체의 멤버에 접근하기 전에 해당 객체가 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 |