C#

C# 14 널 조건부 할당: 더 안전하고 간결해진 null 처리법

로기221 2025. 6. 11. 09:27
728x90
반응형

 

C# 14 신기능 실전 예제: 널 조건부 할당(Null-Conditional Assignment) 활용법

C# 14에서는 널 조건부 멤버 접근 연산자(?.)와 ?[]를 **할당(=, +=, -= 등)**의 왼쪽에서도 사용할 수 있게 되었습니다. 이 기능을 활용하면 객체가 null인지 직접 검사하지 않고도 안전하게 값을 할당할 수 있어 코드가 더욱 간결하고 안전해집니다

 

 

1. 기존 코드와의 비교

기존에는 객체가 null인지 확인한 뒤에 속성 값을 할당해야 했습니다.

if (customer is not null)
    customer.Order = GetCurrentOrder();

 

 

2. C# 14 방식: 널 조건부 할당

이제는 아래처럼 한 줄로 처리할 수 있습니다.

customer?.Order = GetCurrentOrder();

 

  • 만약 customer가 null이면 GetCurrentOrder()는 호출되지 않고, 아무 일도 일어나지 않습니다.
  • null이 아닐 때만 안전하게 할당이 이뤄집니다.

 

3. 복합 할당 연산자에도 사용 가능

널 조건부 연산자는 +=, -= 등 복합 할당 연산자와도 함께 사용할 수 있습니다.

customer?.Points += 100;

 

  • customer가 null이 아니면 Points에 100이 더해집니다.
  • null이면 아무 동작도 하지 않습니다.

 

4. 배열/인덱서에도 활용

order?.Items?[0] = newItem;

 

  • order와 Items가 모두 null이 아닐 때만 0번째 아이템을 바꿉니다.

 

5. 실전 활용 팁

  • 여러 단계의 객체 접근에서 null 체크 분기를 줄이고, 코드 가독성을 높일 수 있습니다.
  • 복잡한 UI 바인딩, 데이터 모델 갱신, 이벤트 핸들러 등에서 유용하게 활용할 수 있습니다.

 

요약

  • 널 조건부 할당은 null 체크와 값 할당을 한 번에 처리해 코드가 간결해집니다.
  • 복합 할당 연산자와 배열에도 적용할 수 있어 실무에서 활용도가 높습니다.
  • C# 14의 대표적인 생산성·안정성 강화 기능입니다ㅍ
728x90
반응형