본문 바로가기

C# 공부/C# 기본 문법

Null 연산자 (Nullable 형식, Null 조건부 연산자)

먼저 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"이 나온다.