[This is C#] Chapter 4. 데이터를 가공하는 연산자
Table of Contents
이것이 C#이다 책을 읽고 공부한 노트입니다.
null 조건부 연산자 #
- 해당 객체가
null
이면null
을 반환하고, null
이 아니면.
뒤에 지정된 멤버를 반환한다.
class Foo
{
public int member;
}
Foo foo = null;
int? bar;
bar = foo?.member; // foo가 null이므로 null을 반환한다.
foo = new Foo();
bar = foo?.member; // foo가 null이 아니므로 member를 반환한다.
null 병합 연산자 #
- 왼쪽 피연산자가
null
이면 오른쪽 피연산자를 반환하고, null
이 아니면 왼쪽 피연산자를 그대로 반환한다.
int? a = null;
int result = a ?? 0; // a가 null이므로 0을 반환한다.
a = 1;
result = a ?? 0; // a가 null이 아니므로 1을 반환한다.
연산자 우선순위 #
우선순위 | 종류 | 연산자 |
---|---|---|
1 | 증가/감소 연산자, null 조건부 연산자 |
a++ , a-- , ?. , ?[] |
2 | 증가/감소 연산자 | ++a , --a |
3 | 산술 연산자 | * , / , % |
4 | 산술 연산자 | + , - |
5 | 시프트 연산자 | << , >> |
6 | 관계 연산자 | < , > , <= , >= , is , as |
7 | 관계 연산자 | == , != |
8 | 비트 논리 연산자 | & |
9 | 비트 논리 연산자 | ^ |
10 | 비트 논리 연산자 | ` |
11 | 논리 연산자 | && |
12 | 논리 연산자 | ` |
13 | null 병합 연산자 |
?? |
14 | 조건 연산자 | ?: |
15 | 할당 연산자 | = , *= , /= , %= , += , <<= , >>= , &= , ^= , ` |