Language/C#

C# null 조건 연산자 (null conditional operator)

VirtualDever 2023. 2. 11. 20:49

개발하다 보면 null reference exception이 자주 뜬다.

그래서  아래와 같이 null 체크하는 코드를  많이 볼 수 있다.

하지만 변수에 ? 조건 연산자를 쓰면 코드가 더 간결해진다.

 

private void Update() {
      if (m_Target == null || Application.isPlaying == false)
        return;

      RotateCamera();
      CheckWall();
      CheckMeshRenderer();
}

 

예제 코드 출처

https://www.csharpstudy.com/CS6/CSharp-null-conditional-operator.aspx

 

C# 6.0 널 조건 연산자 - C# 프로그래밍 배우기 (Learn C# Programming)

널 조건 연산자 (Null-conditional operator) C# 프로그래밍에서 NULL 체크만큼 많은 시간을 할애하는 곳도 아마 드물 것이다. 즉, 객체의 메서드나 속성을 사용하기 전에 객체가 NULL인지 항상 체크해 줘야

www.csharpstudy.com

// rows가 NULL이면 cnt 도 NULL
// rows가 NULL이 아니면 cnt는 실제 rows 갯수
int? cnt = rows?.Count;

// customers 컬렉션이 NULL이면 c는 NULL
// 아니면, c는 첫번째 배열요소
Customer c = customers?[0]; 

// customers가 널인지 체크하고
// 다시 customers[0]가 널인지 체크
int? age = customers?[0]?.Age;

 

참고 문서

https://www.csharpstudy.com/CS6/CSharp-null-conditional-operator.aspx

 

C# 6.0 널 조건 연산자 - C# 프로그래밍 배우기 (Learn C# Programming)

널 조건 연산자 (Null-conditional operator) C# 프로그래밍에서 NULL 체크만큼 많은 시간을 할애하는 곳도 아마 드물 것이다. 즉, 객체의 메서드나 속성을 사용하기 전에 객체가 NULL인지 항상 체크해 줘야

www.csharpstudy.com