데브허브 | DEVHUB | Null is Changing AGAIN in C# and it's Awesome!Null is Changing AGAIN in C# and it's Awesome!
- C# 14에 새로운 'null 조건부 할당' (
?.=) 기능이 도입되어 null 방어 코드를 간결하게 작성할 수 있게 됩니다. 🆕
- 이 기능은 객체가 null이 아닐 때만 속성이나 필드에 값을 할당하는 데 사용됩니다. ✅
- 기존의 null 조건부 연산자 (
?.)가 값을 읽는 데 사용되었다면, 새로운 ?.=는 값을 설정하는 역할을 합니다. ↔️
if (customer != null) { customer.Age = newAge; }와 같은 코드를 customer?.Age = newAge;처럼 짧게 줄여줍니다. ✍️
- 이는 코드의 가독성을 높이고 개발 편의성을 증진시키는 '문법적 설탕(syntactic sugar)'입니다. 🍬
- 컴파일 시에는 기존의
if null 체크와 동일한 중간 언어(IL)로 변환되므로, 성능 변화는 없습니다. ⚙️
- IDE(예: Rider)에서 기존
if 문을 새로운 ?.= 구문으로 자동 리팩토링해주는 기능이 제공될 예정입니다. 💡
- 초기에는 다소 혼란스러울 수 있으나, 기본적으로 '객체가 null이 아니면 값을 설정하라'는 의미로 이해하면 간단합니다. 🤔
- 전반적으로 개발자의 코딩 경험을 개선하는 긍정적인 변화로 평가됩니다. 👍