[C# 문법] C# null 병합 연산자 ?? 사용방법

소개

안녕하세요. 오늘은 C# 문법에서 null 병합 연산자 '??' 에 대해서 알아 보려고 합니다.
null 병합 연산자는 C# 2에서 추가된 문법입니다.
?? 연산자는 이진 연산자로 first ?? second와 같은 형태로 사용합니다.

first ?? second 의미는 다음과 같습니다.

1. first를 평가합니다.
2. first가 null이 아니면 first가 전체 식의 결과가 됩니다.
3. first가 null이면, second가 전체 식의 결과가 됩니다.
  • 그럼 실제 코드에서 ?? 연산자를 이용한 예제코드를 작성해 보겠습니다.

null 병합 연산자 ?? 예제코드

  • ?? 연산자는 중복해서도 사용할 수 있습니다.
  • x, y, z null 타입의 int형 변수가 있을 때, x가 null이고, y가 null 이면 z가 출력이 되고, 만약에 x나 y의 값이 있다면 해당 값이 출력이 되고 z까지 순서가 가지는 않습니다.
using System;

namespace ConsoleApp6
{
    class Program
    {
        static void Main(string[] args)
        {
            int? num1 = 10;
            int? num2 = 50;

            int? num3 = num1 ?? num2;

            Console.WriteLine($"result : {num3}");

            Console.WriteLine();
            Console.WriteLine();

            num1 = null;
            num2 = 50;

            num3 = num1 ?? num2;
            Console.WriteLine($"result : {num3}");

            Console.WriteLine();
            Console.WriteLine();

            // 세가지 조건의 null 병합 연산자
            int? x = null;
            int? y = null;
            int? z = 30;

            int? result = x ?? y ?? z;

            Console.WriteLine($"result : {result}");
        }
    }
}

실행 결과

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY