[C# 8.0] 널 병합 할당자
728x90
반응형
널 병합 할당자
C# 8.0에서 null 병합 할당 연산자 ??= 가 도입되었다.
??= 연산자는
앞의 변수가 null 일 경우 뒤에 오는 피연산자의 값을 가져와 앞의 변수에 할당한다.
이때, 왼쪽 피연산자를 null이 아니라고 평가하면 ??= 연산자는 오른쪽 피연산자를 평가하지 않는다.
- 변경 전
if (list == null)
{
list = new List<int>();
}
- 변경 후
static List<int> AddData(List<int> list, int? a, int? b)
{
// 널 병합 연산자
list ??= new List<int>();
list.Add(a ??= 1);
list.Add(b ??= 2);
return list;
}
널 병합 연산자와 널 병합 할당자는 다음과 같이 사용 할 수 있다.
int? a = null;
// (1) 널 병합 연산자
int b = a ?? 1;
// 위 문장 실행후: a = null, b = 1
// (2) 널 병합 할당 연산자
a ??= 100;
// 위 문장 실행후: a = 100
참고 사이트
https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/operators/null-coalescing-operator
http://www.csharpstudy.com/Latest/CS8-null-coalescing.aspx
728x90
반응형
'Programming > C#' 카테고리의 다른 글
[C# 6.0] 문자열 보간(String interpolation) (0) | 2021.07.04 |
---|---|
[C#] .NET Framework에 대응하는 C# 버전 (0) | 2021.06.02 |
[C# 6.0] 널 조건 연산자 (Null-conditional operator) (0) | 2020.08.27 |
[C#] String.Format 표준 숫자 서식 문자열 (0) | 2020.06.20 |
댓글
이 글 공유하기
다른 글
-
[C# 6.0] 문자열 보간(String interpolation)
[C# 6.0] 문자열 보간(String interpolation)
2021.07.04 -
[C#] .NET Framework에 대응하는 C# 버전
[C#] .NET Framework에 대응하는 C# 버전
2021.06.02 -
[C# 6.0] 널 조건 연산자 (Null-conditional operator)
[C# 6.0] 널 조건 연산자 (Null-conditional operator)
2020.08.27 -
[C#] String.Format 표준 숫자 서식 문자열
[C#] String.Format 표준 숫자 서식 문자열
2020.06.20