-
C# 문법 Null Safety.NET/Common 2022. 9. 17. 21:52
C# NULL Safety
C# 8.0에서는 다음과 같은 Nullsafety 연산자를 지원한다.
NULL 대체할당
var nullstring = null; nullstring ??= "null일경우 대체할 스트링"
이 문법을 사용하면 다음과 같이 Null check하고 할당하는 코드를 단 한줄로 줄일 수 있다.
if(nullstring == null) { nullstring = "null일경우 대체할 스트링"; }
null safety 연산자를 해석하면 다음과 같다.
- A??=B ; A(좌측변수)가 널이라면 B(우측변수)를 A에 할당한다
NULL 대체
NULL값이 들어있는 변수를 대체하는 연산자는 ?? 이다.
var nullstring = null; Console.WriteLine(nullstring?? "출력값은 A입니다." );
??연산자의 좌측값이 NULL일 경우 ??연산자의 우측값으로 대체한다.
Exception
대체하지 않고 Exception을 떨어뜨리는 경우 다음과 같이 사용한다.
nullstring?? throw new Exception("nullstring은 null 입니다.");
인스턴스가 null 인경우 멤버 대신 null을 할당
class Human { public string name = ""; } private static void Main(string[] args) { Human human = null; string test = human.name; }
위 코드는 test 할당에서 human이 null 이기 때문에 null Reference Exception을 발생시킨다.
만약 test값이 null이 되어도 상관이 없는 값이라면 human.name 대신 null을 할당하면 된다. 그런경우 다음과 같이 사용한다.
string test = human?.name;
?. 연산자의 좌측이 null 이라면 존재하지 않는 human.name 을 찾는 것이 아니라 null을 대신 반환한다.
이렇게 NULL Check Code를 심플하게 만들어줄수 있다. C# 8.0은 VS2017부터 사용 가능하다.'.NET > Common' 카테고리의 다른 글
C# .NET 솔루션, 프로젝트 구조 (0) 2025.02.23 Regex 정규식 활용 그룹명 (0) 2022.09.07 C# RS232 통신 (0) 2022.09.04