먼저 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"이 나온다.
'C# 공부 > C# 기본 문법' 카테고리의 다른 글
클래스 - 1 (Static, 얕은/깊은 복사) (0) | 2020.07.23 |
---|---|
메소드(Method) - 2 (오버로딩, 가변길이 매개변수, 명명된 매개변수, 선택적 매개변수, 로컬함수) (0) | 2020.07.23 |
메소드(Method) - 1 (참조에의한 매개변수 전달, 결과를 참조로 반환, 출력전용 매개변수) (0) | 2020.07.23 |
코드의 흐름 제어 (do while, for each, 점프문) (0) | 2020.07.22 |
문자열 서식 맞추기 (Format(), 문자열 보간) (0) | 2020.07.22 |