본문 바로가기

Programming/CSharp

C# 물음표 2개(??) 연산자

반응형

C#에는 ??(물음표 2개)라는 연산자가 존재합니다.

??는 ?? 앞의 값을 기준으로 ?? 앞의 값이 null이면 뒤의 값을 대입하고

?? 앞의 값이 null이 아니면 앞을 값을 대입하는 것입니다.

소스 코드를 보면서 확인해 보겠습니다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            string szTemp = "Hello World";
            string szRes = szTemp ?? "Bye World";

            Console.WriteLine(szRes);

            /*
            szRes = (null != szTemp) ? szTemp : "Bye World";
            Console.WriteLine(szRes);
            */
        }
    }
}

결과는 다음과 같습니다.

?? 앞의 szTemp가 null이 아니면 szTemp가 szRes에 대입됩니다.

만약 null이라면 "Bye World"가 입력됩니다.

szTemp가 null이 아니기 때문에 szRes에는 Hello World가 입력됩니다.

주석으로 처리된 부분은 삼항 연산자를 통해서 동일하게 구현한 부분입니다.

??는 삼항 연산자를 좀 더 편하게 사용할 수 있도록 도와주는 문법입니다.

반응형

'Programming > CSharp' 카테고리의 다른 글

String.Split으로 토큰 단위로 파싱하기  (0) 2016.01.23
sealed 키워드를 사용한 클래스 상속 방지  (0) 2014.12.27
C#의 Property(속성)  (0) 2014.12.26
C#의 키워드(Keywords)  (0) 2014.12.25