C# 공부/C# 기본 문법
Null 연산자 (Nullable 형식, Null 조건부 연산자)
Gyutae Park
2020. 7. 22. 18:31
먼저 Nullable 형식에 대해 정리
변수에 메모리공간을 비워두도록 만드는 형식(쓰레기값이 안들어간다)
-선언
int? a=null;
double? b=null;
- Null 조건부 연산자 ( ?. )
C# 6.0이후 도입되었다. 해당객체 멤버에 접근하기전에 객체가 null인지 검사해서 결과가 참이면(객체가 null이면) 결과로 null 반환, 그렇지않으면 . 뒤에 지정된 멤버를 반환.
ex)
class Foo{
public int member;
}
Foo foo = null;
int? bar; //nullable 변수선언
bar = foo?.member //foo 객체가 null이 아니면 member필드에 접근하게 해줌.
C. 병합 연산자 (??)
null 병합연산자는 왼쪽 피연산자 값이 null이 아닌경우 : 왼쪽 피연산자를 리턴한다.
왼쪽 피연산자 값이 null인 경우 : 오른쪽 피연산자를 리턴한다.
string op = null;
string str = op??"not setting";
//str 출력시 "not setting"이 나온다.